Apparatus and method for generating a magnetic field

ABSTRACT

A system whereby a magnetic tip attached to a surgical tool is detected, displayed and influenced positionally so as to allow diagnostic and therapeutic procedures to be performed rapidly, accurately, simply, and intuitively is described. The tools that can be so equipped include catheters, guidewires, and secondary tools such as lasers and balloons, in addition biopsy needles, endoscopy probes, and similar devices. The magnetic tip allows the position and orientation of the tip to be determined without the use of x-rays by analyzing a magnetic field. The magnetic tip further allows the tool tip to be pulled, pushed, turned, and forcefully held in the desired position by applying an appropriate magnetic field external to the patient&#39;s body. A Virtual Tip serves as an operator control. Movement of the operator control produces corresponding movement of the magnetic tip inside the patient&#39;s body. Additionally, the control provides tactile feedback to the operator&#39;s hand in the appropriate axis or axes if the magnetic tip encounters an obstacle. The output of the control combined with the magnetic tip position and orientation feedback allows a servo system to control the external magnetic field by pulse width modulating the positioning electromagnet. Data concerning the dynamic position of a moving body part such as a beating heart offsets the servo systems response in such a way that the magnetic tip, and hence the secondary tool is caused to move in unison with the moving body part. The tip position and orientation information and the dynamic body part position information are also utilized to provide a display that allows three dimensional viewing of the magnetic tip position and orientation relative to the body part.

REFERENCE TO RELATED APPLICATIONS

The present application is a divisional of U.S. application Ser. No.10/621,196 titled APPARATUS AND METHOD FOR A CATHETER GUIDANCE CONTROLAND IMAGING, which was filed Jul. 15, 2003 which claims priority fromU.S. Provisional Patent Application No. 60/396,302, filed Jul. 16, 2002,titled “CATHETER GUIDANCE CONTROL AND IMAGING APPARATUS AND METHOD,” theentire contents of which is hereby incorporated by reference.

BACKGROUND

1. Field of the Invention

The present invention relates to systems and techniques for guiding,steering, and advancing invasive medical devices such as catheters andcatheter-type devices.

2. Description of the Related Art

In general, catheterization is performed by inserting an invasive deviceinto an incision or a body orifice. Secondary tools such as guidewiresand balloons are often advanced along the primary catheter to the areawhere the medical procedure is to be performed. These procedures rely onmanually advancing the distal end of the invasive device by pushing,rotating, or otherwise manipulating the proximal end that remainsoutside of the body. Real-time x-ray imaging is a common method fordetermining the position of the distal end of the invasive device duringthe procedure. The manipulation continues until the distal end reachesthe destination area where the diagnostic or therapeutic procedure is tobe performed. This technique requires great skills on the part of theoperator that can only be achieved after a protracted training periodand extended practice. A high degree of manual dexterity is alsorequired.

For example, angioplasty involves advancing a balloon catheter over apreviously placed guidewire into a narrowed arterial section. Onceproperly positioned in the narrowed arterial section, the balloon isinflated and dilates this section. The time consuming technicaldifficulties encountered during angioplasty procedure are similar tothose associated with angiography. If the artery to be treated istorturous with sharp bends, it may be difficult to advance the guidewireto the stenosis. If the stenosis is severe or the artery is totallyblocked, it may be difficult or even impossible to properly position theguidewire. Alternatively, if the guidewire is successfully positioned intight, hard plaque, the balloon catheter, being of a necessarily largerdiameter than the guidewire, may encounter sufficient resistance tocause the guiding catheter to disengage from the ostium. This eliminatesthe support required to facilitate balloon advancement. These technicaldifficulties can render the procedure unfeasible.

Because of the difficulty involved in advancing a catheter into adesired location in the body, many diagnostic and therapeutic proceduresemploy a guidewire. The guidewire is first advanced into the heart orthe artery and serves as a track and guide for a specific catheter. Thistechnique is used to advance a catheter into the left ventricle and isespecially important when studying aortic stenosis. Crossing thenarrowed valve orifice is a challenge to the operator. Similarly, aguidewire is often manipulated into a blocked coronary artery and acrossthe obstructive plaque. A therapeutic catheter, for example carrying aballoon, a laser, a stent, etc., is advanced over the guidewire, andplaced at the site of the plaque. The narrowed site is then opened byinflating a balloon, operating a laser beam, or placing a stent. Onoccasions, the artery is torturous and severely narrowed and the plaqueis irregular, calcified, or even totally occluding the artery. In thesesituations the placement of a guidewire beyond the narrowed site is verydifficult and many times unsuccessful.

In some procedures, a catheter is used to cut through the intra-atrialseptum in order to create a shunt (in transposition of the greatvessels), to treat the mitral valve (mitral valvuloplasty), or tomonitor directly the pressure in the left atrium.

The implantation of cardiac pacemakers is often essential for thesurvival of patients with heart rhythm or electrical conductiondisturbances. This procedure is performed by the implantation of a smallelectrode in the heart cavity wall (ventricle or atrium). The other endof the electrode is attached to an electronic device which is implantedunder the chest skin and that generates stimulation pulses to simulatethe heart rhythm. Similar devices apply electrical shock whenlife-threatening heart electrical disturbances are detected by theelectrodes (e.g., an Automatic Implantable Cardiac Defibrillator(AICD)). These electrodes are placed through a vein by pushing andmanipulating under x-ray. Many times, the manipulation to place theelectrodes in a proper position is difficult and the results aresub-optimal due to anatomical variations.

During electrophysiological study, electrical signals occurring in themyocardium (heart muscle) are measured and recorded. This isaccomplished by advancing an electrode-carrying catheter into the heart.The catheter is manipulated until the electrode touches the endocardialregion of interest. This can be a cumbersome and time-consumingprocedure because multiple measurements are often required to perform acomplete study. In addition, accurately positioning the electrode usingmanual manipulation is a difficult process.

Ablation of electrical pathways to eliminate heart rhythm disturbanceseliminates potentially life threatening abnormal heart rhythms byablating erroneous electrical pathways in the myocardium, that have beenpreviously identified during an electrophysiological study. Ablation ofthese pathways using thermal or microwave energy delivered to apredetermined specific region by an energy-carrying catheter is themainstay of the procedure. This catheter is placed in good contact withthe selected endiocardial region, otherwise no ablation will occur.Additionally, the catheter must be precisely positioned in order toavoid damaging the normal electrical pathways. Given these exactingrequirements, the imprecise nature of manual manipulation can cause thisprocedure to be especially difficult and time consuming.

Mitral valvuloplasty is used to treate mitral valve stenosis by dilatingthe narrowed valve with a balloon. The current method involves advancinga catheter through the vena cava into the right atrium. An incision ismade in the intra-atrial septum and the catheter is forced through thecut into the left atrium. A balloon is then advanced through thecatheter into the mitral valve apparatus, and inflated to break thestenotic tissue. Notwithstanding a high success rate and a low risk ofrecurrent restenosis associated with this procedure, a knowncomplication is an atrial septal defect induced by the puncture of theintra-atrial septum. Although much less aggressive than surgery, thisprocedure is lengthy, difficult, and requires special skills in additionto those normally requisite for catheterization.

Mitral valvuloplasty (aorta to left atrium method) is considered by someto be a preferred alternative to the vena cava approach because theintra-artrial septum puncture is eliminated, thereby eliminating thepotential complication of atrial septal defect. This procedure differsfrom the current method of mitral valvuloplasty in that the catheter isadvanced through the aorta, the left atrium, and the aortic valve, forpositioning into the left ventricle. A balloon is then advanced throughthe catheter into the mitral valve apparatus and inflated to break thestenotic tissue. Because a relatively rigid balloon is required to breakthe tissue narrowing the mitral valve, it is almost impossible to bringthe balloon into proper alignment via the aorta and left ventricle dueto the sharp acute angle between the aortic route and the requiredapproach to the mitral valve.

Myocardial revascularization is a therapeutic procedure that increasesthe blood supply to the heart muscle by inducing the formation of newsmall blood vessels in the myocardium. The surgery involves opening thechest wall and laser “drilling” multiple small channels from the heartexternal aspect (epicardium).

Percutaneous myocardial revascularization is a catheter-based procedurefor promoting angioneogensis. It involves advancing a laser catheterinto the heart and performing the channelling from the heart inneraspect (endocardium). This approach is particularly applicable topatients who constitute a high surgical risk and who are beyondconventional catheter based therapy. Due to the accuracy required whenpositioning and fixating the laser catheter, this procedure does notappear to be implementable with currently available catheter technology.

The foregoing procedures suffer from numerous disadvantages andlimitations. A very high skill level is often required to properlymanipulate the catheter into position. Extensive training is required toattain this skill level. Many of the procedures are tedious andtime-consuming. This results in repeated and prolonged exposure of thepatient and staff to the adverse effects of x-rays. The lengthyprocedures also require the use of additional contrast material withassociated risk to the patient. Procedures that require highly-accuratepositioning of the catheter distal end (also referred to as the cathetertip) are difficult to perform and are not always feasible. Theinsertion, removal, and manipulation of secondary tools often causes thetip of the guiding catheter to be dislodged from the desired position.Time-consuming manipulation is required to correctly reposition the tip.The coronary arteries are sometimes torturous with sharp bends orblockages that make advancement of a guidewire or balloon difficult oreven impossible. A principal source of catheter tip location informationis the x-ray imaging system with its associated adverse side effects.

Therefore, there is a great and still unsatisfied need for an apparatusand method for guiding, steering, and advancing invasive devices and foraccurately controlling their position; for providing three dimensionalimaging; and for minimizing the use of x-rays or other ionizing-typeradiation

SUMMARY

The present invention solves these and other problems by providing amagnetic catheter guidance and control apparatus that requires lesstraining and less skill that prior art systems. The magnetic catheterguidance system can rapidly advance and position the catheter, thusminimizing x-ray and contrast material exposure. Moreover, the magneticsystem used in the magnetic catheter guidance system can be used tolocate the catheter tip to provide location feedback to the operator andthe control system.

One embodiment includes a catheter and a guidance and control apparatusthat can accurately, and with relative ease, allow the surgeon/operatorto position the catheter tip inside a patient's body. The catheterguidance and control apparatus can maintain the catheter tip in thecorrect position. One embodiment, includes a catheter with guidance andcontrol apparatus that can steer a guidewire or balloon through arteriesand forcefully advance it through plaque or other obstructions. Oneembodiment includes a catheter guidance and control apparatus thatdisplays the catheter tip location with significantly reduced x-rayexposure to the patient and staff. One embodiment includes a catheterguidance and control apparatus that is more intuitive and simpler touse, that displays the catheter tip location in three dimensions, thatapplies force at the catheter tip to pull, push, turn, or hold the tipas desired, and that is capable of producing a vibratory or pulsatingmotion of the tip with adjustable frequency and amplitude to aid inadvancing the tip through plaque or other obstructions. One embodimentprovides tactile feedback at the operator control to indicate anobstruction encountered by the tip.

In one embodiment, a catheter Guidance Control and Imaging (GCI)apparatus allows a surgeon to advance, accurately position and fixate acatheter, and to view the catheters' position in three dimensions withthe x-ray imagery overlaying the display. In one embodiment, theapparatus includes an operator control called a “Virtual Tip” which, inaddition to being a model representation of the actual or physicalcatheter tip advancing within the patient's body, possesses a positionalrelationship to the catheter tip.

The Virtual Tip includes a physical assembly, somewhat akin to ajoystick, that can be manipulated by the surgeon and is also designed todeliver tactile feedback to the surgeon in the appropriate axis or axesif the actual tip encounters an obstacle. In other words, the VirtualTip includes a joystick-type device that allows the surgeon to guide theactual catheter tip though the patient's body. Then the actual cathetertip encounters an obstacle, the Virtual Tip provides tactile forcefeedback to the surgeon to indicate the presence of the obstacle.

In one embodiment, the physical catheter tip (the distal end of thecatheter) includes a permanent magnet that responds to a magnetic fieldgenerated externally to the patient's body. The external magnetic fieldpulls, pushes, turns, and holds the tip in the desired position. One ofordinary skill in the art will recognize that the permanent magnet canbe replaced or augmented by an electromagnet.

The operator control provides the position and orientation commandinputs to a servo system that controls the catheter tip position byregulating the magnetic force applied outside the patient's body. Ameasurement of the actual tip position and orientation is made viasensory apparatus that includes magnetic field sensors and temperaturesensors. This measurement serves as a feedback to the servo system andthe operator interface. In one embodiment, the servo system has acorrection input that compensates for the dynamic position of a bodypart or organ, such as the heart, thereby offsetting the response suchthat the actual tip moves in unison with the beating heart.

The operation of the catheter guidance system is as follows: i) theoperator adjusts the physical position of the virtual catheter tip, ii)a change in the virtual tip position is encoded producing input datareceived at a control system, iii) the control system generates commandssent to servo system control apparatus, iv) the servo system controlapparatus operates the servo mechanisms to adjust the electromagneticfield of external magnets, which v) causes the position of the actualmagnetic catheter tip within the patient's body to change, vi) the newposition of the actual catheter tip is then sensed by magnetic fieldsensors and temperature sensor arrays, which vii) provide feedback tothe servo system control apparatus and the monitoring system of theoperator interface thereby updating the displayed image of the actualcatheter tip position in relation to the overlaid patient x-ray image.

The operator can then make further adjustments to the virtual cathetertip position and the sequence of steps ii through vii are repeated in away that is smooth and continuous to the user. In addition, throughoutthis procedure, feedback from the servo system control apparatus createscommand logic when the actual catheter tip encounters an obstacle orresistance in its path. The command logic is used to control steppermotors physically coupled to the virtual catheter tip. The steppermotors are engaged to create resistance in the appropriate direction(s)that can be felt by the operator, and tactile feedback is thus providedto the surgeon.

BRIEF DESCRIPTION OF THE DRAWINGS

The various features of the present invention and the manner ofattaining them will be described in greater detail with reference to thefollowing description, claims, and drawings, wherein reference numeralsare reused, where appropriate, to indicate a correspondence between thereferenced items.

FIG. 1A is a high-level system block diagram for a surgery system thatincludes an operator interface, a catheter guidance system, surgicalequipment (e.g., a catheter to be guided), and a patient.

FIG. 1B is a block diagram of one embodiment of the catheter guidancesystem from FIG 1A.

FIG. 1C is a block diagram of the catheter guidance system of FIG. 1Bshowing additional details not shown in FIG. 1B.

FIG. 2 is a schematic diagram of a ground fault interrupter, anuninterruptable power supply, DC supplies, and a supervisory unit foruse in the apparatus of FIG. 1B.

FIG. 3 is a schematic diagram of a system controller for use in theapparatus of FIG. 1B.

FIG. 4 is a schematic diagram of a virtual tip and calibration fixturecontroller for use in the apparatus of FIG. 1B.

FIG. 5 is an electrical block diagram of a virtual tip for use in theapparatus of FIG. 1B.

FIG. 6 is a perspective view of the Virtual Tip device in connectionwith the electrical block diagram of FIG. 5.

FIG. 7 is a schematic diagram of an X axis controller and amplifier foruse in the apparatus of FIG. 1B.

FIG. 8 is a schematic diagram of a Y axis controller and amplifier foruse in the apparatus of FIG. 1B.

FIG. 9 is a schematic diagram of a Z axis controller and amplifier foruse in the apparatus of FIG. 1B.

FIG. 10 is a schematic diagram of a communication controller for use inthe apparatus of FIG. 1B.

FIG. 11 is a schematic diagram of a calibration fixture for use in theapparatus of FIG. 1B.

FIG. 12 is a perspective view of the calibration fixture (mechanical) ofFIG. 11.

FIG. 13 is an orthographic representation view illustrating a polarconfiguration of the electromagnets with their corresponding magneticfield sensors.

FIG. 13A is a possible polar configuration as a cluster ofelectromagnets forming the magnetic circuit with a C-Arm.

FIG. 13B is a representation of the geometrical layout of the coils, thearm and the table.

FIG. 13C is a block diagram representing the electronics scheme ofclustered electromagnetic coils

FIG. 13D is a matrix representation of a vector

FIG. 13E is a representation of the characteristic matrix

FIG. 13F is a representation of the Inverse characteristic matrix

FIG. 13G is a representation of the product of the characteristic matrixwith its Inverse matrix

FIG. 13H is a logical flow diagram of FIG. 13G

FIG. 14 illustrates various magnetic field sensors and temperaturesensor pairs for use in the apparatus of FIG. 1B.

FIGS. 15 and 15A are fragmentary, perspective views of a catheterassembly and a guidewire assembly for use in the apparatus of FIG. 1B.

FIG. 15B a representation of a catheter fitted with a magnetic tip andtwo piezoelectric rings.

FIG. 16 illustrates a bi-plane X-ray ring incorporating the apparatus ofFIG. 1B.

FIG. 16A illustrates a top view of the apparatus of FIG. 1B.

FIG. 16B illustrates an end view of the apparatus of FIG. 1B.

FIG. 16C illustrates a side view of the apparatus of FIG. 1B.

FIG. 17 illustrates the use of the apparatus of FIG. 1B withcineangiographic equipment.

FIG. 17A illustrates the use of fiduciary markers synchronizing thefluoroscopy image.

FIG. 17B illustrates the use of fiduciary markers in performing apacemaker electrode implementation.

FIG. 18 is a vectorial representation of the magnitude and direction ofthe resultant force vector applied by the electromagnets of FIG. 13.

FIG. 18A illustrates the polarity of the magnetic tip of the catheter inrelation to the virtual origin of the coordinate system.

FIG. 18B illustrates the resultant vector as detected by the magneticfield sensors of FIGS. 20 and 20A.

FIG. 18C illustrates the angle of the resultant vector of FIG. 18B inthree dimensions.

FIG. 19 illustrates the distance between two opposing electromagnets foruse in the apparatus of FIG. 1B.

FIG. 19A illustrates the distance between adjacent magnetic fieldsensors of FIG. 19.

FIG. 20 is a representation of the process of deducing the location ofthe tip of FIG. 18A by the magnetic field sensors of FIG. 19A.

FIG. 20A illustrates the result of further calculations of the signalsfrom the magnetic field sensors of FIG. 19A.

FIG. 21 is a representation of the rotation of the magnetic tip of FIG.18A in the Z axis (θ) direction.

FIG. 22 is a representation of the translation of the magnetic tip ofFIG. 18A in the Z axis (ΔZ) direction.

FIG. 23 is a logical flow diagram of a controller forming part of theapparatus of FIG. 1B, for determining the position of the actual tip ofFIG. 18A in response to a new move command.

DETAILED DESCRIPTION

FIGS. 1A, 1B and 1C show a system 700 that includes a guidance, control,and imaging (GCI) apparatus 501. The system 700 further includes anoperator interface equipment 500 and a surgical medical equipment 502.FIG. 1A illustrates an embodiment of the GCI apparatus 501 that includesvarious functional units. FIG. 1A further illustrates the overallrelationship between these functional units and the operator interface500, the auxiliary equipment 502 residing in the operating room, and thepatient 390. FIG. 1B provides further details of the inter-relationshipsof these functional units and some of their components.

FIG. 1C shows the inter-relation between the GCI apparatus 501, surgicalmedical equipment 502, operator interface equipment 500, and a referencepatient 390. A more detailed description of the GCI apparatus 501 andother auxiliary equipment, such as the surgical medical equipment 502,in the operating room will be described later in greater detail inconnection with FIGS. 16, 16A, 16B and 16C. The system 700 is configuredto guide a catheter or similar device having a distal end (also referredto herein as a tip) that enters the body.

FIG. 2 is a block diagram that illustrates a first functional unit ofGCI apparatus 501, namely a power supply and control unit that includesa ground fault interrupter 1, an uninterruptable power supply 300, DCsupplies 16, 17, 18, and 19, and a supervisory unit 301 for use in thesystem 700 of FIG. 1B.

Another functional unit of the GCI apparatus 501 is a system controller(SC) 302 which is illustrated in FIG. 3. Yet another functional unit ofthe GCI apparatus 501 is a virtual tip and calibration fixturecontroller (VT/CFC) 303 which is illustrated in FIG. 4. Still anotherfunctional unit of the GCI apparatus 501 is a virtual tip assembly (VT)304 which is illustrated in FIGS. 5 and 6. Additional functional unitsof the GCI apparatus 501 include an X-Axis controller and amplifier(XCA) 305, a Y-Axis controller and amplifier (YCA) 310, and a Z-Axiscontroller and amplifier (ZCA) 315. These functional units are eachindividually detailed by functional block diagrams in FIGS. 7, 8, and 9,respectively. Still other functional units of the GCI apparatus 501include a communication controller (CC) 320 which is depicted in detailin FIG. 10; a calibration fixture (CF) 321 which is depicted in detailin FIGS. 11 and 12; and magnetic field sensor (MFS) and temperaturesensor (TS) pairs 374 that are illustrated in FIG. 14. The variousmagnetic field sensors and temperature sensor pairs 374 are used in thesystem 700 of FIG. 1B. The magnetic field sensor or sensors can beHall-effect sensors, superconducting sensors, or other sensors thatsense a magnetic field such as, for example, the magnetic field producedby a magnet (or electromagnet) at the distal end of the catheter. In oneembodiment, the magnetic field sensors are Hall-effect sensors. Thetemperature sensors can be thermistors or other temperature-sensingdevices. The temperature sensors are described herein because manymagnetic field sensing devices, such as, for example, Hall-effectsensors are temperature-dependent. However, the temperature sensors areoptional and can be omitted when the additional accuracy afforded by thetemperature sensors is not needed or when knowledge of the temperatureof the magnetic sensors is not needed.

Referring to FIG. 1B, the power supply and control system 392 includes:a Ground Fault Interrupter (GFI) 1; an uninterruptable power supply(UPS) 300; a supervisory unit (SU) 301; individual DC power supplies XPS16, YPS 17, and ZPS 18 that provide power to the X Axis Controller AndAmplifier (XCA) 305, the Y-axis Controller And Amplifier (YCA) 310, andthe Z-axis Controller And Amplifier (ZCA) 315, respectively; and a DCsystem power supply (SPS) 19 that provides the DC power needed tooperate other digital and analog circuitry of the GCI apparatus 501.These components and their functional relationships are depicted ingreater detail in FIG. 2.

Referring now to FIG. 2, the Ground Fault Interrupter (GFI) 1 acts as asafety device by monitoring the AC input current in the line and theneutral. If an imbalance is detected, it is assumed that a stray path toground is present (posing a shock hazard to the user or the patient).This detection will cause a trip that disconnects the load from theline.

The uninterruptable power supply (UPS) 300 contains batteries 9, acharging system 5, an inverter 13, and power switching circuitry. TheUPS 300 automatically supplies the entire AC power requirements of thesystem 700 for the duration of a power failure, or until batterydepletion occurs. A graceful system shutdown is initiated by aSupervisory Unit (SU) 301 and a system controller (SC) 302 if the powerfailure extends beyond battery capacity.

Still referring to FIG. 2, an amplifier 3 and its current transformermonitor the AC line current. An isolation amplifier 4 monitors the ACvoltage output of Ground Fault Interrupter (GFI) 1. Charger 5 producesthe desired DC power to charge battery 9 of the uninterruptable powersupply 300. An amplifier 8 monitors the voltage drop across shunt 7 todetermine the charge current of the battery 9. An amplifier 10 monitorsthe output voltage of the battery 9. An amplifier 12 monitors thevoltage drop across shunt 11 to determine load current of the battery 9.An inverter 13 generates the AC power used by components of the GCIapparatus 501. An isolation amplifier 14 monitors the AC output voltageof inverter 13. An amplifier 15 and its current transformer monitor thecurrent output of inverter 13.

A Supervisory Unit (SU) 301 monitors the signals from the followingcomponents: the AC line; and the outputs of the Ground Fault Interrupter(GFI) 1, the uninterruptable power supply (UPS) 300; and the DC powersupplies 16, 17, 18, and 19. The Supervisory Unit (SU) 301 informs theSystem Controller (SC) 302 of an AC power failure, a Ground FaultInterrupter (GFI) trip, an Uninterruptable Power Supply (UPS) failure orfailure of the DC power supplies 16, 17, 18, and 19.

As detailed in FIG. 2, the SU 301 includes an analog multiplexer 20 thatconnects a given signal to be monitored to a programmable gain amplifier21. A decode logic 26 in conjunction with an address latch 24 allow amicrocontroller 30 to set the input channel of the analog multiplexer20. A microcontroller 30 executes a code resident in read only memory28. The decode logic 26 in conjunction with address latch 25 allowmicrocontroller 30 to set the gain of programmable gain amplifier 21.Microcontroller 30 then strobes sample and hold circuit 22 via decodelogic 26. The output of sample and hold circuit 22 is thus a “snapshot”of the signal to be measured.

Analog to digital converter 23 is issued a convert command bymicrocontroller 30 via decode logic 26. When conversion is complete,analog to digital converter 23 interrupts microcontroller 30 via decodelogic 26 and the digital representation of the measured signal is inputby microcontroller 30. A random access memory 29 is used to storesampled data during operation of the SU 301. A non-volatile memory 27stores data during power down. It is by this method that the variousvoltages and currents are monitored by supervisory unit 301.Microcontroller 30 communicates with system controller 302 via buffer31. Control logic 32 allows system controller 302 to coordinate thepower up-power down sequence in accordance with system conditions.

With reference to FIGS. 1B and 3, System Controller (SC) 302 controlsthe power up—power down sequence in an orderly fashion and alerts theoperator to the system status and any required corrective action viaCommunications Controller (CC) 320, Computer 324, and monitor 325. Inaddition, System Controller (SC) 302 coordinates the operation of X AxisController and Amplifier (XCA) 305, Y-Axis Controller and Amplifier(YCA) 310, and Z Axis Controller and Amplifier (ZCA) 315. Additionally,System Controller (SC) 302 communicates with Virtual Tip/CalibrationFixture Controller (VT/CFC) 321 and Communication Controller (CC) 320via system bus 328.

As illustrated in FIG. 1B, Servo Power Supply (XPS) 16 provides DC powerto the X-Axis Controller and Amplifier (XCA) 305. The XCA 305 energizesthe electromagnets 132X and 138X that are located outside the patient'sbody. X Axis Controller and Amplifier (XCA) 305 monitors temperaturesensor (TS) arrays 306, 309, and magnetic field sensor arrays 307, 308,and further drives Electromagnet (EM) 132X and 138X. Magnetic fieldsensor arrays 307 and 308 measure the magnetic flux in the X axis.Temperature sensor (TS) arrays 306 and 309 measure the temperature ofmagnetic field sensor arrays 307 and 308 so that X Axis Controller andAmplifier (XCA) 305 can apply temperature compensation factors to themagnetic field sensor outputs.

The sensory outputs of these arrays 306, 307, 308, 309 provide feedbackto XCA 305 concerning the position of the actual catheter tip 377 withreference to the X-axis. As it will become apparent from the presentdescription, these electromagnets 132X and 138X affect the position ofthe actual catheter tip 377 inside the patient's body 390 in the X-axis.

Servo Power Supply (YPS) 17 provides DC power to the Y-Axis Controllerand Amplifier (YCA) 310 for energizing the electromagnets (EM) 132Y and138Y that are located outside the patient's body. YCA 310 monitors thesensor arrays of the Y-axis that include temperature sensor (TS) arrays311, 314, and magnetic field sensor array 312, 313. Magnetic fieldsensor arrays 312 and 313 measure the magnetic flux in the Y-axis.Temperature sensor (TS) arrays 311 and 314 measure the temperature ofmagnetic field sensor arrays 312 and 313 so that Y Axis Controller andAmplifier (YCA) 310 can apply temperature compensation factors to themagnetic field sensor outputs. The sensory outputs of these arrays 311,312, 313, 314 provide feedback to the servo system controlled by YCA 310concerning the position of the actual catheter tip 377 with reference tothe Y-axis. As it will become apparent from the present description,these electromagnets 132Y and 138Y affect the position of the actualcatheter tip 377 inside the patient's body 390 in the Y-axis.

The Z-Axis Power Supply (ZPS) 18 provides DC power to the Z-AxisController and Amplifier (ZCA) 315 for energizing the electromagnets(EM) 132Z and 138Z that are located outside the patient's body. ZCA 315monitors the sensor arrays of the Z-axis that include the followingcomponents: temperature sensor (TS) arrays 316, 318, and magnetic fieldsensor arrays 317, 319. Magnetic field sensor arrays 317 and 319 measurethe magnetic flux in the Z axis. Temperature sensor (TS) arrays 316 and318 measure the temperature of magnetic field sensor arrays 317 and 319,so that Z Axis Controller and Amplifier (ZCA) 315 can apply temperaturecompensation factors to the magnetic field sensor outputs. The sensoryoutputs of these arrays 316, 317, 318, 319 provide feedback to the servosystem controlled by ZCA 315 concerning the position of the actualcatheter tip 377 with reference to the Z-axis. As it will becomeapparent from the present description, these electromagnets 132Z and138Z affect the position of the actual catheter tip 377 inside thepatient's body 390 in the Z-axis.

Communication Controller (CC) 320 interfaces host system 323, auxiliaryequipment 322, and the computer 324 to system bus 328. The surgical andmedical equipment 502 can include, for example, the host system 323 andauxiliary equipment 322. The host system 323 contains data concerningthe patient and the current procedure(s) and also archives datagenerated by the GCI apparatus 501. Auxiliary equipment 322 can includethe x-ray imaging system and other patient monitoring apparatus.

The operator interface 500 includes, for example, Computer 324, monitor325, keyboard 326, and mouse 327. The computer 324 allows the operatorto adjust the system parameters and to perform calibration anddiagnostic routines. Monitor 325 displays the actual catheter tip 377position data with overlaid X-ray imagery and operator prompts. Keyboard326 and mouse 327 are used for operator-entered data input.

Virtual Tip/Calibration Fixture Controller (VT/CFC) 303 inputs encoderposition, limit switch, and operator switch data from Virtual Tipassembly 304 to be used by XCA 305, YCA 310, and ZCA 315 in controllingthe electromagnets 132X, 138X, 132Y, 138Y, 132Z, and 138Z. Also, VirtualTip/Calibration Fixture Controller (VT/CFC) 303 outputs Tactile Feedback(TF) response and light emitting diode (LED) data to Virtual Tip (VT)304 to be perceived by the operator as obstructions or resistance met bythe actual catheter tip 377.

FIG. 3 illustrates the components of one embodiment of the systemcontroller (SC) 302. A detailed description of the functionality ofthese components will follow in the ensuing description of the drawings.SC 302 can be characterized as functioning in different modes: 1) apower-up/power-down mode, 2) a servo system controller mode, 3) atactile feedback response mode, and 4) a calibration mode.

In the power-up/power down mode, SC 302 coordinates power-up/power-downsequencing of the components of the GCI apparatus 501, performs built-insystem diagnostic functions, and reports any errors detected duringdiagnostic functions which are sent to the communications controller(CC) 320 and stored in memory 41. These tasks are accomplished bymicrocontroller 33. Error data is stored in Random Access Memory (RAM)41 during system operation and in Non Volatile Memory (NVM) 39 duringpower down. Microcontroller 33 communicates with other system componentsvia system bus 328 by setting the appropriate address and control bitsto decode logic 38 that enables address buffer 34 and data buffer 35.Data latch 36 and data buffer 37 similarly connect microcontroller 33 toUninterruptable Power Supply (UPS) 300 and to supervisory unit (SU) 301via control logic 32.

In the servo system controller mode, System Controller (SC) 302calculates the actual tip (AT) position as further described inconjunction with FIG. 23. Then, using data from the virtual tip (VT)405, determines the appropriate position error, that is the differencebetween the actual tip position and the operator-desired tip position asindicated by the virtual tip position, to be sent to X Axis Controllerand amplifier (XCA) 305, Y-Axis Controller and amplifier (YCA) 310, andZ-Axis Controller and amplifier (ZCA) 315 via the system bus 328.

In the tactile feedback response mode, System Controller SC 302initiates tactile feedback response by providing feedback data to thevirtual tip (VT) 304 via the system bus 328, as described in detail inFIG. 23.

During the calibration mode, System Controller (SC) 302 exercisesCalibration Fixture (CF) 312 via Virtual Tip/Calibration Fixturecontroller (VT/CFC) 303 and correlates the position data from X-axisController and Amplifier (XCA) 305, Y-axis Controller and Amplifier(YCA) 310, and Z-axis Controller and Amplifier (ZCA) 305 withCalibration Fixture (CF) 321 encoders 64C, 66C, 68C, 70C, and 72C.

FIG. 4 illustrates the Virtual Tip And Calibration Fixture Controller(VT/CF) 303. Data is stored in Random Access Memory (RAM) 50 during thesystem operation and in a Non Volatile Memory (NVM) 48 during powerdown. Microcontroller 42 communicates with System Controller (SC) 302(FIG. 3) via system bus 328 by setting the appropriate address andcontrol bits to decode logic 47, which enables address buffer 43 anddata buffer 44. Address latch 45 and data buffer 46 similarly connectmicrocontroller 42 with virtual tip (VT) 405 or calibration fixture (CF)321, as described below.

Virtual Tip/Calibration Fixture (VT/CF) controller 303 inputs data fromVT 304 or CF 321 concerning the encoder positions, limit “switch”closures, and operator input switch positions. Additionally, VirtualTip/Calibration Fixture (VT/CF) controller 303 outputs data to VirtualTip (VT) 304 to produce tactile feedback and to illuminate the LEDindicators to alert the operator of various system conditions.

Referring to FIG. 5, the electronic circuitry function of the VTassembly 304 is as follows. A decode logic 101 responds to address andcontrol bits originating from Virtual Tip/Calibration Fixture controller(VT/CFC) 303 (FIG. 3), enabling data buffer 51 and setting its directionfor transferring data. Step latches 52 and 53 store incoming data sentfrom the VT/CFC 303 to be presented to stepper drivers 54, 56, 58, 60and 62 when strobed by decode logic 101. Stepper motors 55, 57, 59, 61,and 63 respond to the stepper driver outputs to provide tactile feedbackto the operator. The stepper motors 55, 57, 59, 61, and 63 createtactile feedback by producing resistance in the appropriate axial orangular coordinates as follows: stepper motor 55 in the X-axis 400;stepper motor 57 in the Y-axis 401, stepper motor 59 in the Z-axis 402;stepper motor 61 in the angular direction of 0; and stepper motor 63 inthe angular direction of EL.

Still referring to FIG. 5, the absolute encoders 64, 66, 68, 70, and 72are mechanically coupled to the corresponding stepper motors 55, 57, 59,61, and 63, and provide position feedback to the VT/CFC 303 duringTactile Feedback (TF) as well as inform the VT/CFC 303 of the VirtualTip (VT) position during manual adjustments of the VT 405 by theoperator. Encoder outputs are buffered by 65, 67, 69, 71, and 73, totemporarily store and transfer axial and angular position information toVT/CFC 303. Limit “switches” 74, 75, 76, 77, 78, and 79 flag the ends ofthe three linear axes, in order to limit the mechanical motion of thevirtual tip 405, and to allow synchronization of the mechanics of thevirtual tip assembly 304 and the electronics of FIG. 5. “Switches” 80and 81 indicate when angular 0 and EL are at zero position, forsynchronizing of the mechanics of the virtual tip assembly 304 and theelectronics shown in FIG. 5. Latch 82 strobes decode logic 101 in orderto store these data defining positional limits. Operator switches 83,84, 85, 86, 87, 88, 89, and 90 are read and latched by latch 91, inorder to store their command, since these switches are momentary (i.e.,momentary contact as opposed to a stable switch position). LEDs 92, 93,94, 95, 96, 97, 98, and 99 are driven by LED latch 100.

FIG. 7 illustrates the X axis controller and amplifier (XCA) 305. XCA305 receives and amplifies signals in the form of sensory data from thex-axis magnetic field sensors sensor arrays 307 and 308 and temperaturesensor arrays 306 and 309. Using this sensory data, a code is executedin microcontroller 102X to create positional feedback to the VT/CFC 303and other system components via system bus 328. Microcontroller 102Xalso receives data from VT/CFC 303 and other system components viasystem bus 328 to use in generating commands that will control theexcitation of the external electromagnets 132X and 138X to affect theposition of the actual catheter tip in the X-axis. XCA 305 alsogenerates error and correcting signals to be used during the calibrationand normal system operation. These functions will now be described.

First, the method by which XCA 305 monitors the sensory data from theMFS arrays 307 and 308 and temperature sensor arrays 306 and 309 will beexplained. Magnetic field sensors sensor array 307 includes magneticfield sensors 113 x, 114 x, 115 x and 116 x. Magnetic field sensorssensor array 308 includes magnetic field sensors 117 x, 118 x, 119 x,and 120 x. Temperature sensor array 306 includes temperature sensors 122x, 123 x, 124 x, and 125 x. Temperature sensor array 309 includestemperature sensors 126 x, 127 x, 128 x, and 129 x. The physicalpositions of these sensors and relations to one another are described inconjunction with FIG. 13. Microcontroller 102 x executes a mathematicalprocedure that is described in conjunction with FIGS. 18, 18A, 18B and18C, that calculates positional data based on input from the sensorarrays 307 and 308. Input and output data is stored in Random AccessMemory (RAM) 103 x during system operation. Non Volatile Memory (NVM)105 x stores data such as temperature compensation parameters which areused in combination with measured temperature sensor array 306 and 309data to make necessary corrections to data from the magnetic fieldsensors 113X, 114X, 115X, 116X. 117X, 118X, 119X, and 120X.

The collecting of sensory data is initiated by decode logic 106 x inconjunction with address latch 111 x that allows microcontroller 102 xto set the input channel of analog multiplexer 112 x. Similarly, decodelogic 106 x in conjunction with address latch 109 x allowsmicrocontroller 102 x to set the gain of programmable gain amplifier 110x in order to compensate for variations in signal strength from thesensor arrays 307, 308, 306, and 309. Microcontroller 102 x strobessample and hold circuit 108 x via decode logic 106 x, so thatmicrocontroller 102 x is able to perform other functions whileperiodically sampling the data temporarily stored in sample and holdcircuit 108X. The output of sample and hold circuit 108x is thus a“snapshot” of the signal to be measured.

Analog-to-Digital Converter (ADC) 107 x is issued a “convert” command bymicrocontroller 102 x via decode logic 106 x to convert the data fromthe position sensors 307 and 308 from analog to digital, so that thedigital system can interpret the data. When the conversion is complete,analog to digital converter 107 x interrupts microcontroller 102 x viadecode logic 106 x and the digital representation of the measured signalis input by microcontroller 102 x. It is by this method that themagnetic field sensors 113 x, 114 x, 115 x, 116 x, 117 x, 118 x, 119 x,and 120 x as well as the temperature sensors 122 x, 123 x, 124 x, 125 x,126 x, 127 x, 128 x, and 129 x are monitored. Similarly, the voltagedrop across the shunts 131X and 137X is measured to determine thecurrent flow through the electromagnets 132X and 138X.

Still referring to FIG. 7, current source 121x provides the controlcurrent to bias the magnetic field sensors 113X, 114X, 115X, 116X. 117X,118X, 119X, and 120X. since they operate best in a constant current modeand require stability for reliable sensing. Temperature sensor biassupply 130 x supplies the voltage for the temperature sensors 122X,123X, 124X, 125X, 126X, 127X, 128X, 129X.

The method by which XCA 305 generates commands to control the movementof the actual catheter tip 377 in the X-axis will now be explained.Microcontroller 102X receives data from VT/CFC 303 and other systemcomponents via system bus 328 to use in generating commands that willcontrol the movement. Microcontroller 102 x in conjunction with decodelogic 106 x controls modulators 144 x and 146 x to provide the correctmove signal and command. Preamplifiers 143 x, and 145 x amplify themodulators outputs and drive final amplifiers 135 x, 136 x, 141 x, and142 x. Diodes 133 x, 134 x, 139 x, and 140 x protect the finalamplifiers from a surge of back electromotive force due to the inductivenature of the electromagnet coils 132X and 138X.

Electromagnet coils 132 x and 138 x produce a magnetic field thataffects the position of the actual catheter tip in the X-Axis.

Microcontroller 102X communicates with VT/CFC 303 and other systemcomponents via system bus 328 by setting the appropriate address andcontrol bits to decode logic 106 x, which enables address buffer 148 xand data buffer 147 x.

Non Volatile Memory (NVM) 105x also stores calibration data to be usedduring calibration operations in conjunction with the calibrationfixture 321 and VT/CFC 303. These operations and the source of thecalibration data will be described later in conjunction with FIG. 23.Further, Non Volatile Memory (NVM) 105 x stores error codes to be usedduring power down operations controlled by the System Controls (SC) 302.

FIG. 8 illustrates The Y-axis controller and amplifier (YCA) 310 whichoperates in a similar manner to the XCA 305 of FIG. 7. YCA 310 receivesand amplifies the signals from the Y-axis magnetic field sensor arrays312 and 313 and temperature sensor arrays 311 and 314. Using thisincoming sensory data, a code is executed in microcontroller 102Y tocreate positional feedback to the VT/CFC 303 and other system componentsvia system bus 328. Microcontroller 102Y also receives data from VT/CFC303 and other system components via system bus 328 to use in generatingcommands that will control excitation of the external electromagnets132Y and 138Y to affect the position of the actual catheter tip 377 inthe Y-axis. YCA 310 also generates error and correcting signals to beused during the calibration and normal system operation. These functionswill now be described.

First, the method by which YCA 310 monitors the sensory data from MFSarrays 312 and 313 and temperature sensor arrays 311 and 314 will firstbe explained. Magnetic field sensor array 312 includes magnetic fieldsensors 113 y, 114 y, 115 y and 116 y. Magnetic field sensor array 313includes magnetic field sensors 117 y, 118 y, 119 y, and 120 y.Temperature sensor array 311 includes temperature sensors 122 y, 123 y,124 y, and 125 y. Temperature sensor array 314 includes temperaturesensors 126 y, 127 y, 128 y, and 129 y. The physical positions of thesesensors and relations to one another are described in conjunction withFIG. 13.

Microcontroller 102 y executes a mathematical procedure, that describedin conjunction with FIGS. 18, 18A, 18B and 18C, that calculatespositional data based on input from the sensor arrays 312 and 313. Inputand output data is stored in Random Access Memory (RAM) 103 y duringsystem operation. Non Volatile Memory (NVM) 105 y stores data such astemperature compensation parameters which are used in combination withmeasured temperature sensor array 311 and 314 data to make necessarycorrections to data from the magnetic field sensors 113Y, 114Y, 115Y,116Y, 117Y, 118Y, 119Y, and 120Y.

The collecting of sensory data is initiated by decode logic 106 y inconjunction with address latch 111 y, which allows microcontroller 102 yto set the input channel of analog multiplexer 112 y. Similarly, decodelogic 106 y in conjunction with address latch 109 y allowsmicrocontroller 102 y to set the gain of programmable gain amplifier 110y, in order to compensate for variations in signal strength from thesensor arrays 311, 312, 313, and 314. Microcontroller 102 y strobessample and hold circuit 108 y via decode logic 106 y, to allowmicrocontroller 102 y to perform other functions while periodicallysampling the data temporarily stored in sample and hold circuit 108Y.The output of sample and hold circuit 108 y is thus a “snapshot” of thesignal to be measured.

Analog to Digital Converter (ADC) 107 y is issued a convert command bymicrocontroller 102 y via decode logic 106 y to convert the data fromthe position sensors 312 and 313 from analog to digital, so that thedigital system can interpret the data. When the conversion is complete,analog to digital converter 107 y interrupts microcontroller 102 y viadecode logic 106 y and the digital representation of the measured signalis input by microcontroller 102 y. It is by this method that themagnetic field sensors 113 y, 114 y, 115 y, 116 y, 117 y, 118 y, 119 y,and 120 y as well as the temperature sensors 122 y, 123 y, 124 y, 125 y,126 y, 127 y, 128 y, and 129 y are monitored. Similarly, the voltagedrop across the shunts 131Y and 137Y is measured to determine thecurrent flow through the electromagnets 132Y and 138Y.

Still referring to FIG. 8, current source 121 y provides the controlcurrent to bias the magnetic field sensors 113Y, 114Y 115Y, 116Y, 117Y,118Y, 119Y, and 120Y, since they operate best in a constant current modeand require stability for reliable sensing. Temperature sensor biassupply 130 y supplies the voltage for the temperature sensors 122Y,123Y, 124Y, 125Y, 126Y. 127Y, 128Y, and 129Y.

The method by which YCA 310 generates commands that will control themovement of the actual catheter tip in the Y-Axis will now be explained.Microcontroller 102Y receives data from VT/CFC 303 and other systemcomponents via system bus 328 to use in generating commands that willcontrol the movement of the actual catheter tip in the Y-axis will nowbe explained. Microcontroller 102 y in conjunction with decode logic 106y controls modulators 144 y and 146 y to provide the correct move signaland command. Preamplifiers 143 y, and 145 y amplify the modulatorsoutputs and drive final amplifiers 135 y, 136 y, 141 y, and 142 y.Diodes 133 y, 134 y, 139 y, and 140 y protect the final amplifiers froma surge of back electromotive force due to the inductive nature of theelectromagnet coils 132Y and 138Y. Electromagnet coils 132 y and 138 yproduce the magnetic field which will affect the position of the actualcatheter tip 377 in the Y-Axis.

Microcontroller 102Y communicates with VT/CFC 303 and other systemcomponents via system bus 328 by setting the appropriate address andcontrol bits to decode logic 106 y, which enables address buffer 148 yand data buffer 147 y.

Non Volatile Memory (NVM) 105 y also stores calibration data to be usedduring calibration operations in conjunction with the calibrationfixture 321 and VT/CFC 303. These operations and the source of thecalibration data will be described later in conjunction with FIG. 23.Further, Non Volatile Memory (NVM) 105 y stores error codes to be usedduring power down operations controlled by the System Controls (SC) 302.

FIG. 9 illustrates the Z-axis controller and amplifier (ZCA) 315 whichoperates in a similar manner to that of FIGS. 7 and 8. ZCA 315 receivesand amplifies the signals from the z-axis magnetic field sensor arrays312 and 313 and temperature sensor arrays 311 and 314. Using theincoming sensory data, a code is executed in microcontroller 102Z tocreate positional feedback to the VT/CFC 303 and other system componentsvia system bus 328. Microcontroller 102Z also receives data from VT/CFC303 and other system components via system bus 328, to use in generatingcommands that will control the excitation of the external electromagnets132Z and 138Z to affect the position of the actual catheter tip 337 inthe Z-axis. ZCA 315 also generates error and correcting signals to beused during the calibration and normal system operation. These functionswill now be described.

First, the method by which ZCA 315 monitors the sensory data from MFSarrays 317 and 318 and temperature sensor arrays 316 and 319 will firstbe explained. Magnetic field sensor array 317 includes magnetic fieldsensors 113 z, 114 z, 115 z and 116 z. Magnetic field sensor array 318includes magnetic field sensors 117 z, 118 z, 119 z, and 120 z.Temperature sensor array 316 includes temperature sensors 122 z, 123 z,124 z, and 125 z. Temperature sensor array 319 includes temperaturesensors 126 z, 127 z, 128 z, and 129 z. The physical positions of thesesensors and relation to one another are described in conjunction withFIG. 13.

Microcontroller 102 z executes a mathematical procedure that isdescribed in conjunction with FIGS. 18, 18A, 18B and 18C, and thatcalculates positional data based on input from the sensor arrays 317 and318. Input and output data is stored in Random Access Memory (RAM) 103 zduring system operation. Non Volatile Memory (NVM) 105 z stores datasuch as temperature compensation parameters that are used in combinationwith measured data from the temperature sensor arrays 316 and 319, tomake necessary corrections to the data from the magnetic field sensors113Z, 114Z, 115Z, 116Z, 117Z, 118Z, 119Z, and 120Z.

The collecting of sensory data is initiated by decode logic 106 z inconjunction with address latch 111 z that allows microcontroller 102 zto set the input channel of analog multiplexer 112 z. Similarly, decodelogic 106 z in conjunction with address latch 109 z allowsmicrocontroller 102 z to set the gain of programmable gain amplifier 110z, in order to compensate for variations in signal strength from thesensor arrays 316, 317, 318, and 319.

Microcontroller 102z strobes sample and hold circuit 108 z via decodelogic 106 z, to allow microcontroller 102 z to perform other functionswhile periodically sampling the data temporarily stored in sample andhold circuit 108Z. The output of sample and hold circuit 108 z is thus a“snapshot” of the signal to be measured. Analog to Digital Converter(ADC) 107 z is issued a convert command by microcontroller 102 z viadecode logic 106 z, to convert the data from the position sensors 317and 318 from analog to digital, so that the digital system can interpretthe data. When the conversion is complete, analog to digital converter107 z interrupts microcontroller 102 z via decode logic 106 z and thedigital representation of the measured signal is input bymicrocontroller 102 z. It is by this method that the magnetic fieldsensors 113 z, 114 z, 115 z, 116 z, 117 z, 118 z, 119 z, and 120 z aswell as the temperature sensors 122 z, 123 z, 124 z, 125 z, 126 z, 127z, 128 z, and 129 z are monitored. Similarly, the voltage drop acrossthe shunts 131Z and 137Z is measured to determine the current flowthrough the electromagnets 132Z and 138Z.

Still referring to FIG. 9, current source 121 z provides the controlcurrent to bias the magnetic field sensors 113Z, 114Z, 115Z, 116Z, 117Z,118Z, 119Z, and 120Z since they operate best in a constant current mode,and require stability for reliable sensing. Temperature sensor biassupply 130z supplies the voltage for the temperature sensors 112Z, 123Z,124Z 125Z, 126Z, 127Z, 128Z, and 129Z.

The method by which ZCA 315 generates commands that will control themovement of the actual catheter tip in the Z-axis will now be explained.Microcontroller 102Z receives data from VT/CFC 303 and other systemcomponents via system bus 328, to use in generating commands that willcontrol the movement of the actual catheter tip in the Z-axis will nowbe explained. Microcontroller 102 z in conjunction with decode logic 106z controls modulators 144 z and 146 z to provide the correct move signaland command. Preamplifiers 143 z, and 145 z amplify the modulatorsoutputs and drive final amplifiers 135 z, 136 z, 141 z, and 142 z.Diodes 133 z, 134 z, 139 z, and 140 z protect the final amplifiers froma surge of back electromotive force due to the inductive nature of theelectromagnet coils 132Z and 138Z. Electromagnet coils 132 z and 138 zproduce the magnetic field which will affect the position of the actualcatheter tip in the Z-axis.

Microcontroller 102Z communicates with VT/CFC 303 and other systemcomponents via system bus 328 by setting the appropriate address andcontrol bits to decode logic 106 z, which enables address buffer 148 zand data buffer 147 z.

Non Volatile Memory (NVM) 105 z also stores calibration data to be usedduring calibration operations in conjunction with the calibrationfixture 321 and VT/CFC 303. These operations and the source of thecalibration data will be described later in conjunction with FIG. 23.Further, Non Volatile Memory (NVM) 105 z stores error codes to be usedduring power down operations controlled by the System Controls (SC) 302.

FIG. 10 illustrates the communication controller (CC) 320 whose mainfunction is to communicate with other system components via system bus328. The position data received from the XCA 305, YCA 310, and ZCA 315is stored in Random Access Memory (RAM) 156 during system operation andin Non Volatile Memory (NVM) 154 during power down, in order to retainthe position of the actual tip inside the patient's body.Microcontroller 149 communicates with other system components via systembus 328, by setting the appropriate address and control bits to decodelogic 153, which enables address buffer 150 and data buffer 151.Similarly, microcontroller 149 communicates with PC 324, auxiliaryequipment 322, and host system 323 via communication I/O port 152, bysetting address and control bits to decode logic 153 or responding to aninterrupt from port 152. This is done for a number of reasons, such asthe need to display the actual process and procedure of the operation ona CRT display.

FIG. 11 illustrates the electrical circuitry of the calibration fixture(CF) 321 and FIG. 12 illustrates the mechanical implementation of thecalibration fixture (CF) 321. The purpose of the CF, 321, is to definethe steps and limits of motion in each possible direction of the virtualtip 405. This information is communicated to the VT/CFC 303 and used tosynchronize the electronic circuitry and physical operations duringnormal operation of the GCI apparatus 501.

The calibration magnet 411 is manipulated in relation to the fivepossible axes defined by the X-axis 406, the Y-axis 407, the Z-axis 408,the θ axis 409, and the EL axis 410. These axes correspond exactly tothe five directions of movement possible for the virtual tip 405, whichis the maximum number of degrees of freedom possible for the actual tip377. The manipulation of calibration magnet 411 is accomplished by theelectronic circuitry of the calibration fixture 321 as implemented inFIG. 11.

The circuitry of FIG. 11 operates as follows: A decode logic 101 cresponds to address and control bits originating from VT/CFC 303 andenables data buffer 51 c and sets its direction. Step latches 52 c and53 c store data to be presented to stepper drivers 54 c, 56 c, 58 c, 60c, and 62 c when strobed by decode logic 101 c. Stepper motors 55 c, 57c, 59 c, 61 c, and 63 c respond to the stepper drive outputs tomanipulate the magnetic calibration tip in the 5 axes. Absolute encoders64 c, 66 c, 68 c, 70 c, and 72 c are mechanically coupled to thecorresponding stepper motors and provide position feedback to the VT/CFC303. The outputs of the encoders 64C, 66C, 68C, 70C and 72C are bufferedby data buffers 65 c, 67 c, 69 c, 71 c and 73 c to temporarily store andtransfer the data. Limit “switches” 74 c, 75 c, 76 c, 77 c, 78 c, and 79c flag the ends of the three linear axes X, Y and Z. “Switches” 80 c and81 c indicate when θ and EL are at zero position. Limit latch 82 cstores this data when strobed by decode logic 101 c.

FIG. 13 Illustrates the polar configuration 374 of the electromagnets132X, 132Y, 132Z, 138Z, 138Y, and 138Z, the magnetic field sensors andtemperature sensor pairs 350, 351, 352, 353, 354,355, 356, 357, 358,359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,and 373. The electromagnets 132 x, 132 y, 132 z are arranged in threeorthogonal axes X, Y, Z, or as shown in FIGS. 13A and 13B.

FIG. 13A and FIG. 13B illustrate a polar clustered configuration poleswhere the operating table 389 and electromagnets 901, 902, and 903 areconfigured relative to 904, 905, and 906, as approximately shown andmounted by the use of support assembly 391 configured as a C-Arm tocompliment and close the magnetic field circuit. The polar configuration374 is further expressed as a non-symmetrical distribution of the polararrangement where electromagnet 901 and its counterpart 903 are rotatedto provide a lobed electromagnetic field. This arrangement furtheroptimizes the magnetic circuit and provides for free access for thephysician and the patient while the Z axis electromagnets 905 and 906 donot obstruct the available access space as approximately shown by FIG.13 and FIG. 16. Furthermore FIG. 13 and FIG. 13A and FIG. 13B complimenteach other and are an alternative to the bi-plane ring shown in FIG. 16,FIG. 16A, FIG. 16B and FIG. 16C. Both arrangements represent a possibleapproach provided in accommodating the imaging technology modalitiessuch as x-ray, Cat-Scan, Pet-Scan and Ultrasound, while FIG. 16 providesfor the GCI apparatus 501 as a natural access for a fluoroscopic imagingon a bi-plane arrangement. FIG. 13, 13A and 13B enable geometry with abore of approximately 25 inches which is capable of incorporating acomputer tomography apparatus and/or the modality noted above. Furtherembodiment of using the geometrical arrangement noted in FIGS. 13A and13B is expressed in the ensuing descriptions of FIGS. 13C, 13D, 13E,13F, 13G and 13H. The two competing architectures shown in FIG. 16, 16A,16B 16C and FIG. 13A, 13B, provide for advantages and disadvantages inmounting the operating interface equipment 500, surgical medicalequipment 502, and the GCI apparatus 501. Further FIGS. 13A and 13Billustrate an alternative arrangement of the coils attached to theC-arm, 391, and table 389. In this arrangement coils 901 through 906 areshown in a cluster configuration. This geometry diverts from theintuitive orthogonal structure of coils commonly used when generatingvectors or vector gradients with the aide of electromagnetic coils. FIG.13B further illustrates the six coils, 901 through 906, configured in aflower-like structure, or a cluster. Three of the coils are mounted atthe top of the C-arm 391, and three at the bottom. The three coilsforming the upper cluster are further shifted by 120 degrees relative toeach other, as are the bottom three coils. In addition, the coils of thecluster at the top of the C-arm are also tilted downward somewhat, at anangle of 15 to 20 degrees, as are the coils of the cluster at the bottomof the C-arm tilted upward, as shown in FIG. 13B. The entire cluster atthe top of the C-arm is rotated with respect to the bottom cluster by anangle of 60 degrees.

In FIG. 13B, the coils at the top of the C-arm 391 are marked as 901,902, and 903, counting clockwise, and the bottom coils are marked 904,905 and 906, counting in a counter clockwise direction. Coils 901 and903 work as a pair and are designated as the X-axis pair of coils, coils902 and 904 work as another pair and are designated as the Y-axis pairof coils, and coils 905 and 906 are the third pair and are designated asthe Z- axis pair of coils.

FIGS. 13C, 13D, 13E, 13F, 13G and 13H, show an alternative architectureof the GCI apparatus 501 whereby the polar configuration noted in FIGS.16. 16A, 16B, and 16C, is altered to accommodate the clusterconfiguration of the electro-magnet circuit as shown in FIG. 13A and13B. FIG. 13B is a simplified block diagram of the electrical scheme ofthe various components of the system. The system comprises a powersupply, 910, a joystick, 900, feeding three channels, X, Y, and Z, wherethe three signals taken together form a matrix V, 923, shown in FIG.13D, comprising elements Vj_(x), Vj_(y) and Vj_(z). This arrangement isfurther explained in FIGS. 13D, 13E, 13F, 13G and 13H. FIG. 13C, theX-axis channel, comprises an Op-Amp 911, a current amplifier 910, andcoil pair 901, 903. The Y-axis channel comprises an Op-Amp 913, acurrent amplifier 912, and coil pair 902, 904. The Z-axis channelcomprises an Op-Amp 915, a current amplifier 914, and coil pair 905,906. As shown, each pair of coils is connected in series and furtherconnected to the output of power amplifiers, 910, 912, and 914, for theX, Y and Z axes, respectively. The alternative architecture to FIG. 1shown in FIG. 13C receives its input signal command from the joystick,900. Upon command from the operator using the joystick 900 to move inone or more axes, the joystick 900 sends its signal to an array ofoperational amplifiers, 911, 913, and 915, corresponding to the X, Y,and the Z axes respectively. Op-Amps 911, 913, and 915 translate thesignal received from joystick 900 and perform an Inverse operation onthe matrix of the three signals for the three axes. The Op-Amp array 932multiplies the signal from joystick 900 represented as vector V, 923, byanother matrix M-inverse, shown in FIG. 13F and 13G as 927, such thatthe output of the Op-Amp array 932 is M-inverse times V, where M is thecharacteristic matrix 925 of the cluster arrangement comprising the sixcoils 901 through 906. The output from the Op-Amp array 932, comprisingOp-Amps 911, 913, and 915, is obtained, and is fed to power amplifiers910, 912, and 914, driving the six coils 901 through 906 to obtain theresult of generating a motion in the desired direction, hence providingthe apparatus 501 with the ability to translate the desired motion ofthe operator or the clinician as to move the catheter tip 377 in a bodylumen of a patient, 390. This scheme as shown in FIGS. 13D, 13E, 13F,and 13G, is reduced further in FIG. 13H where the input signal V, 931,from Joystick 900, is fed to an Mchar-Inverse Op-Amp array, 932. Theresultant output from the array 932 is the matrix product Mchar-Inverseby the vector V. This signal is fed to current amplifiers 928, theirsignal output represented by the vector B, 933, is then fed as therespective current to the coils 901 through 906, thereby producing theresult of translating the hand-movement of the clinician into theappropriate signal, thus moving the catheter tip to the desiredlocation.

In summary, the alternative arrangement shown above provides GCI 501 amethod in which a competing architecture to FIG. 1 is employed where anon-symmetrical arrangement of the coils is linearized through the useof the scheme shown in FIG. 13H, thereby producing the desired results.This is shown in FIG. 13E.

FIG. 14 shows an arrangement of the magnetic field sensors andtemperature sensor pairs into sensor arrays 306, 307, 308, 309, 311,312, 313, 314, 316, 317, 318, and 319. Each orthogonal axis is dividedinto two poles by positioning a second electromagnet coaxially with thefirst. For example, electromagnet 132 x is coaxial with electromagnet138 x, electromagnet 132 y is coaxial with electromagnet 138 y, andelectromagnet 132 z is coaxial with electromagnet 138 z. Since therotational movements of the virtual tip 405 defined by θ 403 and EL 404,as shown in FIG. 6 occur within the X-Y plane and the X-Z planerespectively, electromagnet poles along the X-, Y- and Z- axes aresufficient to affect movement of the actual catheter tip 377 in exactlythe same five axes as defined for the virtual tip 405 as previouslydescribed in connection with FIG. 6.

In one embodiment, each magnetic field sensor contained in the MFSarrays 307, 308, 312, 313, 317, and 319, is paired with a temperaturesensor (TS) contained in temperature sensor arrays 306, 309, 311, 314,316, and 318. These paired combinations are detailed in FIG. 14 and inthe table below. The magnetic field sensors-temperature sensor (MFS/T)pairs are arranged in quadrants on the pole face of the electromagnets132 x, 132 y, 132 z, 138 x, 138 y, and 138 z.

As shown in FIG. 13, the MFS/TS pairs 350, 351, 352, and 353 arearranged in quadrants on electromagnet 132 x pole face. Magnetic fieldsensor and temperature sensor (TS) pairs 354, 355, 356, and 357 arearranged in quadrants on electromagnet 138 x pole face. Magnetic fieldsensor and temperature sensor (TS) pairs 358, 359, 360, and 361 arearranged in quadrants on electromagnet 132 y pole face. Magnetic fieldsensor and temperature sensor (TS) pairs 362, 363, 364, and 365 arearranged in quadrants on electromagnet 138 y pole face. Magnetic fieldsensor and temperature sensor (TS) pairs 366, 367, 368, and 369 arearranged in quadrants on electromagnet 132 z pole face. Magnetic fieldsensor and temperature sensor (TS) pairs 370, 371, 372, and 373 arearranged in quadrants on electromagnet 138 z pole face.

FIG. 14 illustrates the pairing of the magnetic field sensors andtemperature sensors as mounted in FIG. 13. The magnetic field sensorsand temperature sensors are mounted as isothermal pairs, and each pairfunctions in conjunction with each other. The magnetic field sensorsmeasure the position of the actual tip 377 during the measurement phase,as controlled by microcontrollers 102 x, 102 y and 102 z of XCA 305, YCA310 and ZCA 315, respectively, during which time the electromagnets132X, 132Y, 132Z, 138X, 138Y, and 138Z are de-energized. This is done inorder to be able to take accurate and sensitive measurements with themagnetic field sensor arrays 307, 308, 312, 313, 317, and 318, as theywould otherwise be saturated with the flux from the electromagnets. Thetemperature sensor arrays 306, 309, 311, 314, 316, and 319 monitor theambient temperature to detect an increase that may be uncomfortable forthe patient or potentially damaging to surrounding tissues, and providecorrectional data for calculating position based on the magnetic fieldsensors. The isothermal pairs are as follows:

magnetic field sensor 113X and temperature sensor (TS) 122 x form pair350. Magnetic field sensor 114 x and temperature sensor (TS) 123 x formpair 351. Magnetic field sensor 115 x and temperature sensor (TS) 124 xform pair 352. Magnetic field sensor 116 x and temperature sensor (TS)125 x form pair 353. Magnetic field sensor 117 x and temperature sensor(TS) 126X form pair 354. Magnetic field sensor 118 x and temperaturesensor (TS) 127 x form pair 355. Magnetic field sensor 119 x andtemperature sensor (TS) 128 x form pair 356. Magnetic field sensor 120 xand temperature sensor (TS) 129 x form pair 357. Magnetic field sensor113 y and temperature sensor (TS) 122 y form pair 358. Magnetic fieldsensor 114 y and temperature sensor (TS) 123 y form pair 359. Magneticfield sensor 115 y and temperature sensor (TS) 124 y form pair 360.Magnetic field sensor 116 y and temperature sensor (TS) 125 y form pair361. Magnetic field sensor 117 y and temperature sensor (TS) 126 y formpair 362. Magnetic field sensor 118 y and temperature sensor (TS) 127 yform pair 363. Magnetic field sensor 119 y and temperature sensor (TS)128 y form pair 364. Magnetic field sensor 120 y and temperature sensor(TS) 129 y form pair 365. Magnetic field sensor 113 z and temperaturesensor (TS) 122 z form pair 366. Magnetic field sensor 114 z andtemperature sensor (TS) 123 z form pair 367. Magnetic field sensor 115 zand temperature sensor (TS) 124 z form pair 368. Magnetic field sensor116 z and temperature sensor (TS) 125 z form pair 369. Magnetic fieldsensor 117 z and temperature sensor (TS) 126 z form pair 370. Magneticfield sensor 118 z and temperature sensor (TS) 127 z form pair 371.Magnetic field sensor 119 z and temperature sensor (TS) 128 z form pair372. Magnetic field sensor 120 z and temperature sensor (TS) 128 z formpair 373.

FIGS. 15 and 15A show an improved catheter assembly 375 and guidewireassembly 379 to be used with the GCI apparatus 501. The catheterassembly 375 is a tubular tool that includes a catheter body 376 whichextends into a flexible section 378 that possesses increased flexibilityfor allowing a more rigid responsive tip 377 to be accurately steeredthrough a torturous path.

The magnetic catheter assembly 375 in combination with the GCI apparatus501 reduces or eliminates the need for the plethora of shapes normallyneeded to perform diagnostic and therapeutic procedures. This is due tothe fact that during a conventional catheterization procedure, thesurgeon often encounters difficulty in guiding the conventional catheterto the desired position, since the process is manual and relies onmanual dexterity to maneuver the catheter through a tortuous path of,for example, the cardiovascular system. Thus, a plethora of catheters invarying sizes and shapes are be made available to the surgeon in orderto assist him/her in the task, since such tasks require different bendsin different situations due to natural anatomical variations within andbetween patients.

By using the GCI apparatus 501, only a single catheter would be neededfor most, if not all patients, because the catheterization procedure isnow achieved with the help of an electromechanical system that guidesthe magnetic catheter and guidewire assembly 375 and 379 to the desiredposition within the patient's body 390 as dictated by the surgeon'smanipulation of the virtual tip 405, without relying on the surgeonpushing the catheter, quasi-blindly, into the patient's body. Themagnetic catheter and guidewire assembly 375, 379 (i.e., the magnetictip can be attracted or repelled by the electromagnets 132X, 132Y, 132Z)provides the flexibility needed to overcome tortuous paths, since theGCI apparatus 501 overcomes most, if not all of the physical limitationsfaced by the surgeon while attempting to manually advance the cathetertip 377 through the patient's body.

The guidewire assembly 379 is a tool with a guidewire body 380 and aflexible section 382, which possesses increased flexibility for allowinga more rigid responsive tip 381 to be accurately steered around sharpbends so as to navigate a torturous path. The responsive tips 377 and381 of both the catheter assembly 375 and the guidewire assembly 379,respectively, include magnetic elements such as permanent magnets. Thetips 377 and 381 include permanent magnets that respond to the externalflux generated by the electromagnets 132X, 132Y, 132Z and 138X, 138Y,138Z.

The responsive tip 377 of the catheter assembly 375 is tubular, and theresponsive tip 381 of the guidewire assembly 379 is a solid cylinder.The responsive tip 377 of catheter assembly 375 is a dipole withlongitudinal polar orientation created by the two ends of the magneticelement positioned longitudinally within it. The responsive tip 381 ofguidewire assembly 379 is a dipole with longitudinal polar orientationcreated by the two ends of the magnetic element 377 positionedlongitudinally within it. These longitudinal dipoles allow themanipulation of both responsive tips 377 and 381 with the GCI apparatus501, as the electromagnets 132X, 132Y, 132Z, 138X, 138Y, and 138Z willact on the tips 377 and 381 and “drag” them in unison to a desiredposition as dictated by the operator.

FIG. 15B illustrates a further improvement of catheter assembly 375 andguide-wire assembly 379 to be used with the GCI apparatus 501, where thecatheter assembly 950 is fitted with an additional two piezoelectricrings, 951 and 952, located as shown. An ultrasonic detector incombination with apparatus 501 provides an additional detection modalityof the catheter tip whereby an ultrasonic signal is emitted as to excitethe two piezoelectric rings and provide a measure of rotation of thecatheter tip relative to the north pole axis of the magnet 377. With theaide of the computer 324, the GCI apparatus 501 is capable of definingthe angle of rotation of the tip 377 and in a more elaborate schemeknown to those familiar with the art the piezoelectric rings 951, 952,can provide additional position information to define the position,orientation, and rotation of the catheter tip 377 relative to thestereotactic framing as described further in FIGS. 17 and 17A.

FIG. 16 illustrates a bi-plane x-ray ring incorporating the apparatus ofFIG. 1B. FIGS. 16A, 16B and 16C are further elaboration of FIG. 16, andshow in further detail, elements that could not be depicted by theisometric view of FIG. 16, or were omitted from FIG. 16 for clarity.Additionally, FIGS. 16A, 16B, and 16C are top, end, and side viewsrespectively of the electromagnet and imaging assembly 391 and supportassembly 385.

FIG. 16 further illustrates the overall relationship between theoperating table 389, the patient 390, a T-axis encoder 394, a trunnion388, a support assembly 385, a polar support 391, a G-axis encoder 393,the x-ray source 383, an image intensifier 384, the electromagnets 132X,132Y, 132Z, an overall arrangement referred to as polar configuration374, electromagnets 138X 138Y, 138Z, the power supply and control system392, the auxiliary equipment 322, the host system 323, the PC 324, thevirtual tip assembly 304, the calibration fixture 321, the mouse 327,the keyboard 326, the monitor 325, as they are approximately orientedfor visual aid. The function of the components that has not yet beendescribed will be explained in the ensuing paragraphs, with reference toFIGS. 16, 16A, 16B, and 16C.

The T-axis encoder 394 and the G-axis encoder 393 provide the systemwith gantry position information for use in calculating the desiredcoordinate rotation prior to energizing the electromagnet. The trunnion388 acts as a truss for the support assembly 385. Polar support 391pivots on the G-axis of support assembly 385. The polar assembly 391supports the x-ray source 383 and x-ray image intensifier 384 thatproduce x-ray images to be overlaid with the actual catheter positionimage on the monitor 325 of the operator interface 500. Polar support391 provides a mounting surface for electromagnets 132X, 132Y, 132Z,138X, 138Y, and 138Z in their appropriate coaxial arrangements as wasalready described in FIG. 13.

The trunnion 388 is centered on an axis, namely the T-axis 387 depictedin FIG. 16A. The T-axis encoder 394 is mechanically coupled to thetrunnion 388 to encode positional data of the support assembly 385 inthe T-axis. A gimbal-axis (G-axis) 386, depicted in FIG. 16A, intersectswith the T-axis 378 at the center point of the polar support 391. Thiscenter point coincides exactly with the center point of the X-ray fieldof view. A G-axis encoder 393 is mechanically coupled to the supportassembly 385 along the G-axis 386. A detailed description of thefunctionality of the above components will follow in the ensuingdescription.

FIG. 16 Illustrates the x-ray support assembly 385 and 391 as configuredon an anteroposterior projection with 20 degrees of caudal angulation(AP caudal). FIG. 17 illustrates a general connection of the GCIapparatus 501 to cineangiographic equipment 502. The cineoangiographicequipment 502 is interfaced with the GCI apparatus 501 through operatorinterface equipment 500. The cineoangiography image of an arterial treeis shown on video monitor 325, with the x-ray image of catheter tip 377position superimposed. The display of these images is synchronized bythe GCI apparatus 501 via the communications controller 320, and isrealized on the monitor 325 of the operator interface 500.

FIG. 17A illustrates forming a stereotactic frame in support of positiondefinition of the catheter tip relative to the frame. This methodutilizes fiduciary markers formed as an approximate cube.

The solution presented herein is a method of capturing the FluoroscopicImage generated by the x-ray Apparatus and/or ultrasonic imagingtechnique to create Referential Markers for synchronizing the image ofthe catheter tip or guide wire, which is generated by the GCI apparatusand superimpose that image onto the fiduciary markers which arerepresented digitally and are linked dynamically as to create one imagewhich moves in unison with the area of interest. For example, thebeating heart and its cardio-output, the pulmonary expansion andcontraction, or a spasm of the patient, can be dynamically captured andlinked together as to achieve unison motion between the catheter's tipand the body's organ in question.

FIG. 17A further illustrates the image capture technique ofsuperimposing the fiduciary markers 700A1, 700A2, 700A3, 700A4, 700B1,700B2, 700B3, and 700B4 onto the fluoroscopic/ultrasonic image,generated as shown in image 17. The scheme provided identifies thedynamic location of the catheter tip 377 with reference to thefluoroscopic/ultrasonic image. The referential frame formed by thefiduciary markers 700Ax defines the catheter's tip position relative tothe stereotactic frame. Furthermore, by employing a technique ofgeometric projection this method provides for a synchronizedimage-capture relative to catheter tip, 377 thereby affording thesuperimposition of the fluoroscopic/ultrasonic image relative to boththe fiduciary markers and the catheter tip on a dynamic basis, hence,providing position definition with a frame of reference.

FIG. 17B illustrates the implantation of cardiac pacemaker 801 withelectrodes as shown, placed in area relative to the S.A. Node 802, A.V.Node 803, and a bundle of His 804. Further illustrated are the right andleft bundle branches 805. Pacemaker implantation is essential for thesurvival of patients with heart rhythm or electrical conductiondisturbances. This procedure is performed by the implantation of a smallelectrode in the heart cavity wall (ventricle or atrium). The other endof the electrode is attached to an electronic device 801 which isimplanted under the chest skin and which generates stimulation pulses tosimulate the heart rhythm. Similar devices apply electrical shock whenlife threatening heart electrical disturbances are detected by theelectrodes (Automatic Implantable Cardiac Defibrillator (AICD). Theseelectrodes are placed through a vein by pushing and manipulating underfluoroscopy. Through the use of the apparatus proposed GCI 501 andguidewire 379 fitted with magnetic tip 381 is used to carry and placethe electrodes of pacemaker 801 in its proper position by using themethod and apparatus described in this patent. By employing thefiduciary markers 700A1, 700A2, 700A3, 700A4, 700B1, 700B2, 700B3, and700B4 the physician navigates the guidewire 379 through the heart lumenwhile having a continuous dynamic referential frame identifying theguidewire tip 381 and as shown in 17 and further illustrated by FIG.17A. Many times, the manipulation to place the electrodes in a properposition is difficult and the results are sub-optimal due to anatomicalvariations. The use of the proposed apparatus 501 provides simplicity inperforming such a complex operation while the physician is capable ofmoving, pushing, and placing the electrodes of pacemaker 801 in itsprecise anatomical position without compromise due to the inability ofnavigating, guiding, controlling, and imaging the movement of theguidewire and the pacemaker electrodes accurately.

Having described the constituent components of the GCI apparatus 501,its general and mathematical operations for controlling the position ofthe actual catheter tip 377 in relation to adjustments made to thevirtual tip 405 and calculations to determine the new location of theactual catheter tip 377 will now be explained with reference to FIGS. 18through 23.

Upon application of power, the built-in test routines residing inSupervisory Unit (SU) 301, System Controller (SC) 302, X-axis controllerand amplifier (XCA) 305, Y-axis controller and amplifier (YCA) 310,Z-axis controller and amplifier (ZCA) 315, Communication Controller (CC)320, Computer 324, and Virtual Tip/Calibration Fixture Controller(VT/CFC) 303, perform a series of self diagnostic tests. In addition,certain tests are performed on a continuous basis in the background.Exemplary background tests include DC power supply voltage and currentmonitoring, AC voltage and current monitoring and communication tests.These background tests are interleaved between normal functions in amanner that is transparent to the user.

The results of the test routines are reported to System Controller (SC)302. System Controller (SC) 302 compares these results to expectedvalues stored in Non Volatile Memory (NVM) 39 (FIG. 3). Following a testfailure or the detection of any anomalous behavior, System Controller(SC) 302 determines the severity of the situation. If an uncorrectablecondition exists, System Controller (SC) 302 initiates a graceful powerdown. If, on the other hand, corrective action can be taken to alleviateor eliminate the problem, System Controller (SC) 302 instructs Computer324 to sound an alarm, and instructs the monitor 325 to display an errorprompt. Any detected failures are also stored as error codes in NonVolatile Memory (NVM) 39 for later review and troubleshooting.

In one embodiment, the Virtual Tip 405 and the Calibration Fixture (CF)321 (FIGS. 5, 6, 11, and 12) have 8 inches of travel in the X, Y, and Zaxes. This corresponds to the 8″×8″×8″ control area of the polarconfiguration 374 (FIG. 13). The Virtual Tip 405 and the CalibrationFixture 321 also have 360° of rotation in the θ and elevation axes.

Stepper motors 55C, 57C 59C, 61C, and 63C with the coupled encoders 64C,66C, 68C, 70C and 72C revolve once during an 8-inch excursion in the X,Y, or Z axes. Stepper motors 55C, 57C 59C, 61C, and 63C have, forexample, a resolution of 400 half steps per revolution, which equates toa positioning resolution of 0.022″. Additionally, the encoders may havea resolution of 512 bits per revolution, which equates to a measurementresolution of 0.015625″. In the θ and EL axes, the stepper motorresolution may be 0.9° and the encoder resolution may be 0.703125°.

During calibration, Calibration Fixture (CF) 321 is placed within thepolar configuration 374 and connected to Virtual Tip/Calibration FixtureController (VT/CFC) 303. Virtual Tip/Calibration Fixture Controller(VT/CFC) 303 then moves Calibration Fixture (CF) 321 by sending codes todrive stepper motors 55 c, 57 c, 59 c, 61 c, and 63 c. Encoders 64 c, 66c, 68 c, 70 c, and 72 c are then read by Calibration Fixture (CF) 321 todetermine the present position and orientation of magnet 411. Theposition data from the encoders is compared to the position data derivedfrom magnetic field sensor arrays 307, 308, 312, 313, 317, and 318(FIGS. 1, 7, 8, and 9). The magnetic field sensor arrays 307, 308, 312,313, 317 and 318 responses are thus characterized for the full range ofthe magnet 411 positions and orientations, and hence for the magneticcatheter tip 377 as well.

During normal operation, Virtual Tip 405 is connected to VirtualTip/Calibration Fixture Controller (VT/CFC) 303. As tip 405 ismanipulated, Virtual Tip/Calibration Fixture Controller (VT/CFC) 303reads encoders 64, 66, 68, 70, and 72. The position data obtained fromthe Virtual Tip 405 is used by the System Controller 302 to determinethe desired position (DP) of the actual tip (AT) and to control itsmotion as defined in the description of FIG. 23.

The electromagnetic field generated by electromagnets 132 x, 132 y, 132z, 138 x, 138 y, and 138 z of FIG. 13 will produce a resultant force onthe actual catheter assembly tip 377 and guidewire assembly tip 381(FIGS. 15 and 15A). This resultant force can be represented by forcevector B 600 with a given magnitude and direction. This resultant forcevector B together with its constituent vectors are illustrated in FIG.18. Vector B is the resultant vector of the force vectors emanating fromthe six electromagnets 132 x, 132 y, 132 z, 138 x, 138 y, and 138 ztogether, upon a move command from the XCA 305, YCA 310 and ZCA 315.Vector Bx 601 is the projection of Vector B 600 on the X-axis, Vector By602 is the projection of Vector B 600 on the Y-axis, and Vector Bz 603is the projection of vector B 600 on the Z-axis. The angles α 604, β605, and δ 606 are the corresponding angles between the vectors B 600and Bx 601, vectors B 600 and By 602, and vectors B 600 and Bz 603,respectively.

As stated earlier, and still referring to FIG. 18, the magnitude of theforce vector B 600 resulting from the electromagnetic field isB=√{square root over (Bx ² +By ² +Bz ² )}and its direction is given by the three angles below:α=cos⁻¹ Bx, β=cos⁻¹ By, δ=cos⁻¹ Bz

The force vector B is produced through commands sent from systemcontroller 102 based on: 1) inputs from sensor arrays 307, 308, 312,313, 317, and 318 processed by XCA 301, YCA 310 and ZCA 315 on thelocation of the actual catheter tip 377 within the patient's body 390,and 2) inputs from VT/CFC 303 on the desired position of the actualcatheter tip 377 as indicated by virtual tip 405 position. A code storedin ROM 40 of system controller 302 (FIG. 3) is processed bymicrocontroller 33 to generate the constituent vector components Bx 601,By 602, and Bz 603 of B 600. The magnitude of each of these constituentvectors will be translated to the appropriate XCA 305, YCA 310, and ZCA315 to cause changes in modulator outputs, which, in turn, change theelectromagnetic field produced by electromagnets 132 x and 138 x, 132 yand 138 y, and 132 z and 138 z. The constituent vectors Bx, By and Bzwill then be physically realized as electromagnetic fluxes along the X-,Y- and Z-axes and thereby produce a resultant force B 600 on the actualcatheter tip 377 to effectively drag it to the desired position.

The new position of the actual catheter tip 377 is then determined inorder to verify that is indeed in the desired position or if furtheradjustments are necessary or if an obstacle has been encountered. Themethods by which system controller 302 determines the new actualcatheter tip 377 position will be explained mathematically withreference to FIGS. 18A through 22.

The following notations were assigned to the variables associated withFIGS. 18A, 19, and 19A and will be used in the ensuing discussion:

-   -   a_(N): The most distal end of the magnetic element of the actual        catheter tip assembly as indicated by its North dipole (see        e.g., FIG. 18A).    -   a_(S): The proximal end of the magnetic element of the actual        catheter tip assembly 377 as indicated by its south dipole (see        e.g., FIG. 18A).    -   a_(D): Length of the actual catheter tip magnet 377 equal to the        distance between the points a_(N) and a_(S) (refer to FIG. 18A).    -   X_(D): Distance between opposite coaxial poles along the x-axis,        that is the distance between the polar faces of electromagnets        132 x and 138 x (refer to numeral reference 616 in FIG. 19).    -   −x₁, −x₂, −x₃, −x₄: MFS and TS pairs 354, 355, 356, 357,        respectively. (see FIGS. 13 and 19A).    -   d: The Distance between each consecutive MFS/TS pair, that is        the distance between MFS/TS pair 354 and MFS/TS 355, MFS/TS 355        and MFS/TS pair 356, and so forth (refer to FIG. 19A).    -   x₁, x₂, x₃, x₄: MFS and TS Pairs 350, 351, 352, 353,        respectively (refer to FIGS. 13 and 19A).    -   ROT: The angle of rotation θ in the X-Y plane (refer to numeral        reference 625 in FIG. 21).    -   ELEV: The angle of EL in the X-Z plane (refer to numeral        reference 626 in FIG. 22).

The electromagnetic field induced by electromagnets 132 x, 132 y, 132 z,138 x, 138 y, and 138 z of FIG. 13 produces a resultant force on theactual catheter assembly tip 377 and guidewire assembly tip 381 (FIGS.15 and 15A). This resultant force can be characterized as a force vectorwith a given magnitude and direction, and is illustrated in FIG. 18along with its constituent vectors. Vector B 600 is the resultant vectorof the force vectors emanating from the six electromagnets 132 x, 132 y,132 z, 138 x, 138 y, and 138 z together, upon a move command from theXCA 305, YCA 310 and ZCA 315. Vector Bx 601 is the projection of VectorB on the X-axis, Vector By 602 is the projection of Vector B on theY-axis, and Vector Bz 603 is the projection of vector B on the Z-axis.The angles α 604, β 605, and δ 606, are the corresponding angles betweenthe vectors B and Bx, vectors B and By, and vectors B and Bz,respectively.

FIG. 18A illustrates one embodiment of a magnetic catheter tip 607. Thismagnetic tip 607 corresponds to the combination of the responsive tip377 of the catheter assembly 375 and the responsive tip 381 of theguidewire assembly 379 (FIGS. 15 and 15A). The magnetic tip 607 isrepresented by its two poles a_(N), 607A and a_(S) 607B in connectionwith a Virtual Origin 608. The Virtual Origin 608 is defined by thecenter of travel of the Virtual Tip (VT) 405 in the X-, Y-, and Z- axes400, 401 and 402 (FIG. 6). The Virtual Origin 608 also coincides withthe center of the travel of the calibration magnet 411 in the X-, Y-,and Z-axes 406, 407 and 408, during calibration (FIG. 12). Theassumption is that the Virtual Origin 608 is in the center of the x-rayfield of view, as well as the center of the sagnetic field sensors (MFS)sensing volume and the center of the electromagnet (EM) control volume.The Virtual Origin 608 also coincides with the center of travel of theCalibration Fixture (CF) in the X, Y, and Z axes, during calibration.

FIG. 18B illustrates the resultant position vector An 609 that definesthe position of the catheter tip 607 as detected by the magnetic fieldsensor arrays 307, 308, 312, 313, 317, and 318 and computed bymicrocontrollers 102 x, 102 y and 102 z of XCA 305, YCA 310 and ZCA 315.The constituent vectors Xn, Yn, and Zn are the projections of theposition vector An on the X-axis, Y-axis and Z-axis, respectively. Theangles α 609A, β 609B, and γ 609C, are the projected angles of thevector A_(N) on the X, Y, and Z axes, respectively. This orthogonalrepresentation corresponds to the polar configuration 374 of FIG. 16.

FIG. 18C illustrates the angular representation of the resultantposition vector of catheter tip 607 in 3 dimensions. The position vectorAn 609 shown in FIG. 18B define the location of a_(N) 607A which is oneof the two poles of the magnetic tip 607, is projected on the X-Y plane.This projected vector θ_(XY) 615 can be defined by an angle θ_(X) 613with relation to the X-axis, and an angle θ_(Y) 614 with relation to theY-axis. The projection on the X-Z plane and Y-Z planes are not shownthus the angular relationship of location a_(N) with the Z-axis 612 isnot shown for purposes of simplicity. These angular relationships of theposition vector An defining the location a_(N), as exemplified by θ_(X)613 and θ_(Y) 614 are used in the calculations defining the positions ofthe actual catheter tip 377 as sensed by the magnetic field sensorssensor arrays 307, 308, 312, 313, 317, and 318. An explanation of thesecalculations will be provided later.

FIG. 19 illustrates the distance XD 616 between two opposite faces orpoles of the electromagnets. The distance XD is used in calculationsmade during the operation of the system which will be explained in thefollowing discussion.

FIG. 19A illustrates a distance d 617 between two adjacent X-axismagnetic field sensors. Magnetic field sensors −X1 and −X2 618 and 619respectively. Also shown in FIG. 19A are two additional magnetic fieldsensors, −X3 and −X4. The magnetic field sensors −X₁, −X₂, −X₃, −X₄ arethe MFS and the temperature sensor (TS) pairs, corresponding to 354,355, 356, and 357, respectively, and X₁, X₂, X₃, and X₄ are the MFS andTS pairs corresponding to 350, 351, 352, and 353, respectively.

FIG. 20 illustrates the geometrical process by which the system deducesthe true location of the magnetic tip 607 from the data it receives fromthe magnetic field sensors X1, X2, X3, and X4. The resultant vector A620 is further manipulated by the system to generate positionco-ordinates 621 and 622 of the tip 607, thereby identifying thelocation of the actual tip 377. This geometrical process will becomeapparent in the following discussion.

FIG. 20A further illustrates components of the position vectors 622 and621 obtained by additional mathematical manipulation and calculationsdone on the signals that are received from the magnetic field sensorsX1, X2, X3, and X4. The location of the actual tip 377 is defined by theposition co-ordinates shown as 621 and 622. Position 623 is the measuredposition of the actual catheter tip 377 as determined by the magneticfield sensors X1, X2, X3, and X4, and position 624 is its calculatedposition as determined by the system control 302. Under idealconditions, the positions 623 and 624 are equal to each other.

FIG. 21 illustrates the rotation 625 of the tip 607 around the Z-axis(θ). The rotation is actually an arc motion occurring or oscillating inthe X-Y plane. FIG. 22 illustrates the translation 626 of the tip 607 inthe Z-axis.

The system controller (SC) 302 deduces the location of the actualcatheter tip 377 from the signals generated by the magnetic field sensorarrays 307, 308, 312, 313, 317, and 318. This is done as described inthe following paragraphs.

The following notations are assigned to the variables associated withFIGS. 18A, 19, and 19A:

-   -   a_(N): North direction.    -   a_(S): South direction.    -   a_(D): Length of Tip Magnet.    -   X_(D): Distance between opposite Poles 132 x to 138 x.    -   −x₁, −x₂, −x₃, −x₄: MFS and TS pairs 354, 355, 356, 357,        respectively.    -   d: The Distance between magnetic field sensors and temperature        sensor pairs 354 and 355, etc.    -   x₁, x₂, x₃, X₄: MFS and TS Pairs 350, 351, 352, 353,        respectively.    -   ROT: θ AXIS    -   ELEV: EL AXIS

With reference to FIGS. 18 a, 18 b, and 18 c, the positions of theactual tips 377 are defined by the orthogonal vectors a_(N), A_(N) anda_(S), A_(S). These orthogonal vectors are the resultant vectors oftheir constituent x, y and z components:A _(N)=(Xn, Yn, Zn),

where Xn, Yn, and Zn are the projections of orthogonal vector A_(N) onthe X, Y, and Z axes (refer to FIG. 18B), and,A _(S)=(Xs, Ys, Zs)where Xs, Ys and Zs are the projections of orthogonal vector A_(S) onthe X-, Y-, and Z- axes, respectively.

The directions of orthogonal vectors A_(N) and A_(S) from the origin aredefined by the following angles (refer to FIG. 18B):

-   -   α is the angle to the X axis;    -   β is the angle to the Y axis; and    -   γ is the angle to the Z axis.

Similarly, the directions of the vector B are shown in FIG. 18 anddefined by the three angles: α, β, and γ.

The distance of the vector A_(N) from the virtual origin to the pointa_(N) 607A (FIG. 18C) is calculated by the following equation:α_(N) √{square root over (Xn ² +Yn ² +Zn ² )},

and the angles defining the direction of vector A_(N) are calculated bythe following equations:$\alpha = {{\cos^{- 1}\left\lbrack \frac{Xn}{An} \right\rbrack} = {\cos^{- 1}\left\lbrack \frac{Xn}{\sqrt{{Xn}^{2} + {Yn}^{2} + {Zn}^{2}}} \right\rbrack}}$$\beta = {{\cos^{- 1}\left\lbrack \frac{Yn}{An} \right\rbrack} = {\cos^{- 1}\left\lbrack \frac{Yn}{\sqrt{{Xn}^{2} + {Yn}^{2} + {Zn}^{2}}} \right\rbrack}}$$\Upsilon = {{\cos^{- 1}\left\lbrack \frac{Zn}{An} \right\rbrack} = {\cos^{- 1}\left\lbrack \frac{Zn}{\sqrt{{Xn}^{2} + {Yn}^{2} + {Zn}^{2}}} \right\rbrack}}$

With three orthogonal planes shown in FIG. 18C on which the positionalvector A_(N) is projected, producing the constituent vectors in eachplane and their respective angles. The vectors in these three planes,X-Y, X-Z, and Y-Z are as follows:

In the X-Y plane the angles of the projected vector θxy with respect tothe X-axis and the Y-axis (refer to FIG. 18C) are expressed as follows:${{\theta\quad x} = {{arc}\quad{\tan\left( \frac{Xn}{Yn} \right)}}},{and}$${{\theta\quad y} = {{arc}\quad{\tan\left( \frac{Yn}{Xn} \right)}}},$where the magnitude of the projected vector θxy in the X-Y plane is:Axy=√{square root over (Xn ² +Yn ² )}.

Similarly, the angles of the projected vector θxy with respect to theX-axis and the Z-axis are expressed as follows:${{\theta\quad x} = {{arc}\quad{\tan\left( \frac{Xn}{zn} \right)}}},{and}$${{\theta\quad z} = {{arc}\quad{\tan\left( \frac{Zn}{Xn} \right)}}},$

and the magnitude of the projected vector θxz in the X-Z plane is:Axz=√{square root over (Xn ² +Zn ² )}.

Similarly, the angles of the projected vector θxy with respect to theY-axis and the Z-axis are expressed as follows:${{\theta\quad y} = {{arc}\quad{\tan\left( \frac{Yn}{Zn} \right)}}},{and}$${{\theta\quad z} = {{arc}\quad{\tan\left( \frac{Zn}{Yn} \right)}}},$and the magnitude of the projected vector θyz in the Y-Z plane is:Ayz=√{square root over (Yn ² +Zn ² )}.

It should be noted that the mathematical solution of the vectorA_(S)=(X_(S), Y_(S), Z_(S)) follows the mathematical solution of thevector A_(N)=(X_(N), Y_(N), Z_(N)).

As shown in FIG. 18A, if the distance D 607 between a_(N) and a_(S) isknown, then:D=√{square root over ((Xn−Xs)²+(Yn−Ys)²+(Yn−Ys)²)}

To illustrate how system controller 302 determines the position of theactual catheter tip, the calculations used by microprocessor 102 x ofXCA 305 with respect to the X-axis and the virtual origin 608 will nowbe described, with the understanding that microprocessors 102 y of YCA310 and 102 z of ZCA 315 will perform similar calculations, with eachgenerating positional data concerning the Y- and Z- axes, respectively.

The transfer functions of the co-planar magnetic field sensors (x₁, x₂,X₃, x₄) are known from the calibration routine (fx₁, fx₂, fX₃, fX₄) asshown in FIG. 20, and they are as follows:−X ₁=−(V _(−x) ₁ (f _(−x) ₁ )) +X ₁−(V _(−x) ₁ (f _(−x) ₁ ))−X ₂=−(V _(−x) ₂ (f _(−x) ₂ )) +X ₂=(V _(−x) ₂ (f _(−x) ₂ ))−X ₃=−(V _(−x) ₃ (f _(−x) ₃ )) +X ₃=(V _(−x) ₃ (f _(−x) ₃ ))−X ₄=−(V _(−x) ₄ (f _(−x) ₄ )) +X ₄=(V _(−x) ₄ (f _(−x) ₄ ))

Each MFS/TS pair 354, 355, 356, 357 mounted on the polar face ofelectromagnet 138 x will provide location data to microprocessor 102 xof XCA 305. The measured distance to a_(N) 607A, for example, fromMFS/TS pair 354 will be referred to as (−x₁); the distance measured byMFS/TS pair 355 will be referred to as (−x₂); the distance measured byMFS/TS pair 356 will be referred to as (−x₃); the distance measured byMFS/TS pair 357 will be referred to as (−x₄).

Likewise, each MFS/TS pair 350, 351, 352, 353 mounted on the polar faceof electromagnet 132 x will provide location data to microprocessor 102x of XCA 305. The measured distance of a_(N) 607A from MFS/TS pair 350will be referred to as (+x₁); the distance measured by MFS/TS pair 351will be referred to as (+x₂); the distance measured by MFS/TS pair 352will be referred to as (+x₃); the distance measured by MFS/TS pair 353will be referred to as (+x₄).

Since the MFS/TS pairs are arranged in a quadrant around the centralX-axis, the individually measured distances of each MFS/TS temperaturesensor are combined mathematically to determine the distance along thex-axis itself. This is done by determining a positional vectors Ax₁x₂,Ax₂x₃, Ax₃x₄, and Ax₁x₄. With reference to FIG. 20, the magnitude ofpositional vector Ax₂x₃, for example, is given by the followingequation:${{Ax}_{2}x_{3}} = {\frac{x_{2}x_{3}{{Sin}\left( {\theta\quad x_{2}x_{3}} \right)}}{d}.}$

The magnitude of the positional vectors Ax₁x₂, Ax₃x₄, and Ax₁x₄ arecalculated in a similar way.

In addition, as shown in FIG. 20A, the angle θx₁x₂, which, for example,is the sum of the angles between Ax₁x₂ and x₁ and Ax₁x₂ and x₂, givesthe direction of Ax₁x₂ as follows:${\theta\quad x_{1}x_{2}} = {\cos^{- 1}\left( \frac{d^{2} - x_{1}^{2} - x_{2}^{2}}{2x_{1}x_{2}} \right)}$

The numerical solution, is graphically shown in FIG. 20A is achieved byusing the canonical formalism described below. It should be noted thatthis numerical solution is performed in for example in a background modeby microprocessor 102 x of XCA 305 and similarly for y axis and z axis.${{hx}_{1}x_{2}} = \frac{x_{1}x_{2}{\sin\left( {\theta\quad x_{1}x_{2}} \right)}}{d}$${{Bx}_{1}x_{2}} = \sqrt{x_{1}^{2} - {{hx}_{1}x_{2}^{2}}}$${\theta\quad x_{2}x_{3}} = {\cos^{- 1}\left( \frac{d^{2} - x_{2}^{2} - x_{3}^{2}}{2x_{2}x_{3}} \right)}$${{Ax}_{2}x_{3}} = \frac{x_{2}x_{3}{{Sin}\left( {\theta\quad x_{2}x_{3}} \right)}}{d}$${{Bx}_{2}x_{3}} = \sqrt{x_{2}^{2} - {{hx}_{2}x_{3}}}$${P_{B}x_{1}} = \sqrt{{{{}_{}^{}{}_{}^{}}x_{2}^{2}} + {{{}_{}^{}{}_{}^{}}x_{3}^{2}}}$${{Ax}_{1}x_{2}} = \sqrt{x_{1}^{2} - {P_{B}x_{1}^{2}}}$The angles of θx₂x₃, θx₃x₄, and θx₁x₄ are calculated in a similar way.

Based on the distances Ax₁x₂, Ax₂x₃, Ax₃x₄, and Ax₁x₄ from the polarface 138 x to the point a_(N), an average distance (−x_(n)) isdetermined as follows:${- x} = {\left( \frac{\left( {{- x_{1}} - {x_{2}A}} \right) + \left( {{- x_{2}} - {x_{3}A}} \right) + \left( {{- x_{3}} - {x_{4}A}} \right) + \left( {{- x_{4}} - {x_{1}A}} \right)}{4} \right).}$

Likewise, the distance from the polar face 132 x to the point a_(N) isdetermined as follows:${+ x} = {\left( \frac{{x_{1}x_{2}A} + {x_{2}x_{3}A} + {x_{3}x_{4}A} + {x_{4}x_{1}A}}{4} \right).}$

In one embodiment, when weighting the averages by using more accuratesensors yields better results (as determined during calibration), then aweighted average is used.

The distance of a_(N) from the virtual origin 608 is determined sincethe virtual origin is the common point of reference between the VTassembly 304 and the calibration fixture (CF) 321. These distances aregiven for the three axes by the following sets of equations, where X_(D)616 is the distance between two coaxial electromagnets 132 x and 138 x(refer to FIG. 19), Y_(D) is the distance between two coaxialelectromagnets 132 y and 138 y, and Z_(D) is the distance between twocoaxial electromagnets 132 z and 138 z:$\frac{X_{D}}{2} + \left( {- X} \right)$$\frac{X_{D}}{2} + \left( {+ X} \right)$ where:${\left( {\frac{X_{D}}{2} + \left( {- X} \right)} \right) + \left( {\frac{X_{D}}{2} + \left( {- X} \right)} \right)} = X_{D}$

The same calculations apply to the y and z axes positions and with thethree axes positions known will yield an absolute position. Therefore,relative to the virtual origin: ${Xn} = \left\{ {{\begin{matrix}{\frac{X_{D}}{2} - \left( {- {Xn}} \right)} \\{\left( {+ {Xn}} \right) - \frac{X_{D}}{2}}\end{matrix}\quad{Xs}} = \left\{ {{\begin{matrix}{\frac{X_{D}}{2} - \left( {- {Xs}} \right)} \\{\left( {+ {Xs}} \right) - \frac{X_{D}}{2}}\end{matrix}{Yn}} = \left\{ {{\begin{matrix}{\frac{Y_{D}}{2} - \left( {- {Yn}} \right)} \\{\left( {+ {Yn}} \right) - \frac{Y_{D}}{2}}\end{matrix}\quad{Ys}} = \left\{ {{\begin{matrix}{\frac{Y_{D}}{2} - \left( {- {Ys}} \right)} \\{\left( {+ {Ys}} \right) - \frac{Y_{D}}{2}}\end{matrix}{Zn}} = \left\{ {{\begin{matrix}{\frac{Z_{D}}{2} - \left( {- {Zn}} \right)} \\{\left( {+ {Zn}} \right) - \frac{Z_{D}}{2}}\end{matrix}\quad{Xs}} = \left\{ \begin{matrix}{\frac{Z_{D}}{2} - \left( {- {Zs}} \right)} \\{\left( {+ {Zs}} \right) - \frac{Z_{D}}{2}}\end{matrix} \right.} \right.} \right.} \right.} \right.} \right.$

The system controller 302 deduces the following from the calculations todetermine the center point of the magnetic element of the actualcatheter tip: ${Xc} = \frac{{Xn} - {Xs}}{2}$${Yc} = \frac{{Yn} - {Ys}}{2}$ ${Zc} = \frac{{Zn} - {Zs}}{2}$

Thus the GCI apparatus 501 derives the rotation in the X-Y plane asfollows:${RotC} = {\tan^{- 1}\left( \frac{{Yn} - {Ys}}{{Xn} - {Xs}} \right)}$and the elevation in the X-Z plane as follows:${elevC} = {\tan^{- 1}\left( \frac{{Zn} - {Zs}}{{Xn} - {Xs}} \right)}$

Using these results, system controller 302 can compare the actualcatheter tip 377 location to the desired tip location. FIG. 23illustrates a logical computational flow taken by the system controller(SC) 302 in determining the position of the actual tip 377, using thefollowing mathematical relations:

-   -   1. System Controller (SC) 302 inhibits X-axis controller and        amplifier (XCA) 305, Y-axis controller and amplifier (YCA) 310,        and Z- axis controller and amplifier (ZCA) 315 modulator        outputs.    -   2. X-axis controller and amplifier (XCA) 305, Y-axis controller        and amplifier (YCA) 310, and Z-axis controller and amplifier        (ZCA) 315 read the magnetic field sensor array 307, 308, 312,        313, 317, and 318 outputs.    -   3. X-axis controller and amplifier (XCA) 305, Y-axis controller        and amplifier (YCA) 310, and Z-axis controller and amplifier        (ZCA) 315 read temperature sensor (TS) array 306, 309, 311, 314,        316, and 319 outputs.    -   4. X-axis controller and amplifier (XCA) 305, Y-axis controller        and amplifier (YCA) 310, and Z-axis controller and amplifier        (ZCA) 315 apply digital temperature compensation to the outputs        of the magnetic field sensor arrays 307, 308, 312, 313, 317, and        318 by referring to correction data (typically stored in Non        Volatile Memory 105 x, 105 y, and 105 z).    -   5. System Controller (SC) 302 inputs the corrected magnetic        field sensor data from X-axis controller and amplifier (XCA)        305, Y-axis controller and amplifier (YCA) 310, and Z-axis        controller and amplifier (ZCA) 315, and interpolates a 5-axis        data set from the three orthogonal components (Bx, By, Bz) of        the magnetic field produced by the actual tip. The tip position        is calculated using the following two relations:        -   a) The magnitude of the force vector B 600 is given by the            equation:            B=√{square root over (Bx ² +By ² +Bz ² )}; and        -   b) the direction of the force vector B is given by the three            resultant angles, as:            ${\alpha = \frac{\cos^{- 1}{Bx}}{B}},{\beta = \frac{\cos^{- 1}{By}}{B}},{\delta = \frac{\cos^{- 1}{Bz}}{B}}$    -   6. System Controller (SC) 302 inputs the cardio position (CP)        from the auxiliary equipment (x-ray, ultrasound, etc) 322 via        Communication Controller (CC) 320. The cardio position (CP) data        set is dynamic due to the beating of the heart.    -   7. System Controller (SC) 302 calculates the actual position        (AP) by combining the cardio position (CP) and the HP data sets.    -   8. System Controller (SC) 302 inputs Virtual Tip 405 position        data from Virtual Tip/Calibration Fixture Controller (VT/CFC)        303.    -   9. System Controller (SC) 302 calculates the DP by combining the        cardio position (CP) data set with that of the Virtual Tip (VT).    -   10. System Controller (SC) 302 then determines the position        error (PE) by comparing the DP with the AP.    -   11. If the position error PE is less than an error threshold        value, then the System Controller (SC) 302 enables X-axis        controller and amplifier (XCA) 305, Y-axis controller and        amplifier (YCA) 310 and Z-axis controller and amplifier (ZCA)        315 with the continues to use the same modulation and polarity.    -   12. If the position error PE is greater than the error threshold        value, then the System Controller SC 302 alters the duty cycle        and/or polarity of the modulation inputs to XCA 305, YCA 310,        and ZCA 315 accordingly.

The System Controller (SC) 302 controls the stepper motors 55, 57, 59,61, and 63 via the Virtual Tip/Calibration Fixture Controller (VT/CFC)303 to produce tactile feedback if the position error (PE) exceeds apredetermined amount in a predetermined time in any axis or axes,thereby notifying the operator of an obstruction encountered by thecatheter tip. That is, it is assumed that if the PE is not eliminated bythe normal operation of the GCI apparatus 501 within an expected amountof time or cycles of steps 1 through 12 above, then an obstacle islikely to have been encountered by the actual catheter tip. This isperceived by the operator through tactile feedback generated byresistance produced the stepper motors 55, 57, 59, 61, and 63 acting onthe virtual tip 405.

The operation of the virtual tip 405 is relatively simple and intuitiveto the user or surgeon. The surgeon simply pushes, pulls, or rotates thevirtual tip 405 in the desired direction to cause a similar movement ofthe catheter tip 377 within the patient's body. If an obstruction isencountered by the catheter tip 377, the virtual tip 405 responds withtactile feedback in the form of resistance to movement in theappropriate axis or axes. Thus, the surgeon can “feel” the actual tip asit is advanced. When tip 405 is released, the catheter tip 377 isforcefully held in its current position. System Controller (SC) 302correlates the AT position with CP data obtained from auxiliaryequipment 322 and via CC 320 it communicates with PC 324 in order topresent monitor 325 with the combined tip and x-ray/ultrasonic imagery.The display of the three-dimensional AT position is continuously updatedon a real-time basis with HP data. Relatively fewer frames of x-rayimagery are used to overlay the display with CP data. This correlationof AT and CP data is possible because the x-ray and the MFS arrays havea common reference point (i.e., both are stationary relative to thebeating heart).The present technique significantly reduces x-rayexposure to the patient and staff while providing a superior method ofobserving the heart and catheter tip 377.

Accordingly, it can be seen that the new catheter guidance and controlapparatus and method provide an arrangement which is: relatively easy touse effectively; requires minimal training to master; rapidly advancesand accurately positions the catheter tip; requires fewer types ofcatheters; forcefully fixates the catheter tip in the desired position;steers a guidewire through a torturous path; forcefully advances aguidewire or balloon through plaque; displays the catheter tip positionin three dimensions; significantly reduces the amount of contrastmaterial the patient is exposed to; significantly reduces the amount ofX-radiation the patient and medical staff are exposed to; is intuitiveto use; and produces tactile feedback to indicate when the catheter tipencounters an obstruction.

Although the preceding description contains much specificity, thisshould not be construed as limiting the scope of the invention, but asmerely providing illustrations of embodiments thereof. Many othervariations are possible within the scope of the present invention. Forexample, the modulation of the electromagnets can be controlled in sucha way as to cause a vibratory or pulsating motion of the tip to aid incrossing plaque; the responsive tip(s) can be electromagnetic ratherthan permanent magnets; the magnetic field external to the body can begenerated by a permanent magnet or magnets; the control of the externalmagnetic field can be accomplished by manually administering the fieldgenerating devices; AC induction with its associated magnetic effectscan be utilized by causing a coil or coils wound around the tip torespond to an impressed time variant field; materials with Curietemperatures within a few degrees of body temperature can be used asmagnetic flux switches for selective tip control by irrigating them withfluids having appropriate temperatures; electrostatic phenomena canenhance magnetic effects; artificial intelligence can replace theoperator control for producing command inputs; an expert system canreplace or augment operator inputs; the apparatus can be used toincubate various body cavities and organs other than the heart; theapparatus can be used for human and animal procedures such as eggharvesting and embryo implantation; the responsive tip can be attachedto a coherent fiber optic bundle to provide viewing of internalstructures with unprecedented maneuverability; internal radioisotopetherapy can be precisely performed by delivering a palletized sourcedirectly to a tumor using a guided catheter; internal tissue samples canbe obtained without major surgery; a fiber optic light guide equippedwith a responsive tip can be accurately positioned to deliver laserlight to a specific internal location without major surgery; previouslydifficult liposuction and other subcutaneous surgical procedures can beperformed accurately, and so forth. Thus, the scope of the invention islimited only by the claims.

1. An apparatus for generating a magnetic field, comprising; a firstcluster of first electromagnet poles provided to a mass of magneticmaterial; a first plurality of electromagnet coils provided to saidfirst electromagnet poles, said first plurality of electromagnet coilscontrollable on a substantially separate basis; a second cluster ofsecond electromagnet poles provided to said mass of magnetic materialsuch that said second cluster of second electromagnet polessubstantially opposes said first cluster of first electromagnet poles,said magnetic mass completing a magnetic circuit from said first clustersaid second cluster; and a second plurality of electromagnet coilsprovided to said second electromagnet poles, said second plurality ofelectromagnet coils controllable on a substantially separate basis suchthat an orientation of a magnetic field in a region between said firstcluster and said second cluster is controllable in multiple dimensions.2. The apparatus of claim 1, wherein said first cluster of firstelectromagnet poles comprises three electromagnet poles.
 3. Theapparatus of claim 1, wherein pole faces of said first electromagnetpoles lie substantially on a sphere.
 4. The apparatus of claim 1,wherein pole faces of said first electromagnet poles lie substantiallyon a sphere and where pole faces of said second electromagnet poles liesubstantially on said sphere.
 5. The apparatus of claim 1, furthercomprising a system controller to control electric currents in saidfirst plurality of coils and said second plurality of coils to controlsaid orientation of said magnetic field.
 6. The apparatus of claim 1,further comprising: a tool having a distal end responsive to saidorientation of said magnetic field; and one or more magnetic sensors tosense a magnetic field produced by said distal end.
 7. The apparatus ofclaim 6, said distal end comprising one or more magnetic field sensorsand one or more temperature sensors.
 8. The apparatus of claim 6,further comprising a Virtual Tip control device to allow user controlinputs.
 9. The apparatus of claim 6, further comprising a Virtual Tipthat provides tactile feedback to an operator.
 10. The apparatus ofclaim 9, wherein said Virtual Tip provides tactile feedback to anoperator according to a position error between an actual position ofsaid distal end and a desired position of said distal end.
 11. Theapparatus of claim 6, further comprising a system controller to controlelectric currents in said first plurality of coils and said secondplurality of coils to control said orientation of said magnetic field toapply magnetic force to said distal end.